新四季網

XML文檔的解析方法及解析裝置與流程

2023-04-30 20:44:31 3


本發明涉及計算機技術領域,具體涉及一種xml文檔的解析方法及解析裝置。



背景技術:

隨著web開發的日益流行,數據交互也越發的重要。無論是前端和後端之間的交互,還是客戶端和伺服器之間的交互,異或是不同伺服器之間的交互都體現了數據的交互。

而網絡的本質就是一個數據之間互相傳遞、互相修改、互相影響的拓撲結構。為了解決數據之間的傳遞問題,國際之間漸漸形成了兩種規範:一種是基於特殊符號的傳遞方式,如json(javascriptobjectnotation,一種輕量級的數據交換格式);另一種是基於一定格式的傳遞方式,如xml(extensiblemarkuplanguage,擴展標記語言)。json現在依然只是在web端比較流行,而xml卻一直佔據巨大的數據交互的份額。

此外,map接口在編程過程中是需要經常用到的,其儲存了成對的鍵-值對象,提供key(鍵)到value(值)的映射),能夠實現根據key快速查找value。

但是,目前卻沒有提供xml與map之間的轉換方法,於是需要程式設計師自己根據當前的業務報文來書寫轉換方法,但是較低的使用範圍和重複利用率,成為了數據交互這上面的一個比較尷尬的問題。

需要說明的是,在上述背景技術部分公開的信息僅用於加強對本發明的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現有技術的信息。



技術實現要素:

本發明的目的在於提供一種xml文檔的解析方案,進而至少在一定程度上克服由於相關技術的限制和缺陷而導致的一個或者多個問題。

本發明的其他特性和優點將通過下面的詳細描述變得顯然,或部分地通過本發明的實踐而習得。

根據本發明的一個方面,提供了一種xml文檔的解析方法,包括以下步驟:獲取待解析的xml文檔,並獲取一指定節點的信息;解析所述xml文檔,得到所述xml文檔中的所有節點;在所述所有節點中匹配所述指定節點,並獲取所述指定節點的相關數據;根據所述指定節點的相關數據生成對應的map接口。

在本發明的一些實施例中,基於前述方案,解析所述xml文檔,得到所述xml文檔中的所有節點的步驟,包括:解析所述xml文檔,得到所述xml文檔中的根節點;基於所述根節點,循環獲取所述xml文檔中的所有節點。

在本發明的一些實施例中,基於前述方案,還包括:根據所述xml文檔中的所有節點,生成所述xml文檔的節點列表;在所述所有節點中匹配所述指定節點的步驟,包括:在所述節點列表中匹配所述指定節點。

在本發明的一些實施例中,基於前述方案,所述指定節點的相關數據包括:所述指定節點的名稱和所述指定節點的內容。

在本發明的一些實施例中,基於前述方案,根據所述指定節點的相關數據生成對應的map接口的步驟,包括:將所述指定節點的名稱作為所述map接口的key,並將所述指定節點的內容作為所述map接口的value,以生成所述map接口。

在本發明的一些實施例中,基於前述方案,通過dom4j工具解析所述xml文檔,得到所述xml文檔中的所有節點。

根據本發明的另一方面,還提供了一種xml文檔的解析裝置,包括:第一獲取單元,用於獲取待解析的xml文檔,並獲取一指定節點的信息;解析單元,用於解析所述xml文檔,得到所述xml文檔中的所有節點;第二獲取單元,用於在所述所有節點中匹配所述指定節點,並獲取所述指定節點的相關數據;生成單元,用於根據所述指定節點的相關數據生成對應的map接口。

在本發明的一些實施例中,基於前述方案,所述解析單元配置為:解析所述xml文檔,得到所述xml文檔中的根節點;基於所述根節點,循環獲取所述xml文檔中的所有節點。

在本發明的一些實施例中,基於前述方案,所述解析單元還配置為:根據所述xml文檔中的所有節點,生成所述xml文檔的節點列表;所述第二獲取單元配置為:在所述節點列表中匹配所述指定節點。

在本發明的一些實施例中,基於前述方案,所述指定節點的相關數據包括:所述指定節點的名稱和所述指定節點的內容。

在本發明的一些實施例中,基於前述方案,所述生成單元配置為:將所述指定節點的名稱作為所述map接口的key,並將所述指定節點的內容作為所述map接口的value,以生成所述map接口。

在本發明的一些實施例所提供的技術方案中,通過提供xml文檔與map接口之間的轉換方案,使得在需要獲取某個節點的屬性時,能夠基於轉換得到的map接口,直接根據節點的名稱來查找節點的內容,快速地實現了數據的獲取過程,進而使得編程人員無需關心如何進行數據轉化,減輕了編程人員的代碼開發壓力,有利於提高產品的開發效率。

附圖說明

圖1示意性示出了根據本發明的第一個實施例的xml文檔的解析方法的流程圖;

圖2示意性示出了根據本發明的實施例的xml文檔轉換為map的流程圖;

圖3示意性示出了根據本發明的第二個實施例的xml文檔的解析方法的流程圖;

圖4示意性示出了根據本發明的實施例的xml文檔的解析裝置的框圖。

具體實施方式

現在將參考附圖更全面地描述示例實施方式。然而,示例實施方式能夠以多種形式實施,且不應被理解為限於在此闡述的範例;相反,提供這些實施方式使得本發明將更加全面和完整,並將示例實施方式的構思全面地傳達給本領域的技術人員。

此外,所描述的特徵、結構或特性可以以任何合適的方式結合在一個或更多實施例中。在下面的描述中,提供許多具體細節從而給出對本發明的實施例的充分理解。然而,本領域技術人員將意識到,可以實踐本發明的技術方案而沒有特定細節中的一個或更多,或者可以採用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細示出或描述公知方法、裝置、實現或者操作以避免模糊本發明的各方面。

附圖中所示的方框圖僅僅是功能實體,不一定必須與物理上獨立的實體相對應。即,可以採用軟體形式來實現這些功能實體,或在一個或多個硬體模塊或集成電路中實現這些功能實體,或在不同網絡和/或處理器裝置和/或微控制器裝置中實現這些功能實體。

附圖中所示的流程圖僅是示例性說明,不是必須包括所有的內容和操作/步驟,也不是必須按所描述的順序執行。例如,有的操作/步驟還可以分解,而有的操作/步驟可以合併或部分合併,因此實際執行的順序有可能根據實際情況改變。

圖1示意性示出了根據本發明的第一個實施例的xml文檔的解析方法的流程圖。

參照圖1,根據本發明的第一個實施例的xml文檔的解析方法,包括以下步驟:

步驟s10,獲取待解析的xml文檔,並獲取一指定節點的信息。

在該實施例中,指定節點的個數並不作具體限定,也即是說,指定節點的個數既可以是一個,也可以是多個。指定節點的信息需要能夠對該節點進行標識,比如可以是該節點的名稱。

步驟s12,解析所述xml文檔,得到所述xml文檔中的所有節點。

根據本發明的示例性實施例,步驟s12包括:解析所述xml文檔,得到所述xml文檔中的根節點;基於所述根節點,循環獲取所述xml文檔中的所有節點。

更具體地,可以通過dom4j(是一個開源的xml解析包)工具解析所述xml文檔,得到所述xml文檔中的所有節點。

當得到xml文檔的所有節點之後,可以生成xml文檔的節點列表,這樣可以便於後續在節點列表中查找相應的節點。

步驟s14,在所述所有節點中匹配所述指定節點,並獲取所述指定節點的相關數據。

在本發明的實施例中,指定節點的相關數據包括:所述指定節點的名稱和所述指定節點的內容。

其中,若xml文檔中的節點是通過節點列表的形式進行存儲的,那麼步驟s14具體包括:在所述節點列表中匹配所述指定節點。通過採用節點列表,可以快速地實現節點的匹配過程。

步驟s16,根據所述指定節點的相關數據生成對應的map接口。

根據本發明的示例性實施例,步驟s16包括:將所述指定節點的名稱作為所述map接口的key,並將所述指定節點的內容作為所述map接口的value,以生成所述map接口。

綜上,如圖2所示,本發明實施例的方案可以自動對xml文檔進行解析並轉換為map接口,極大地減輕了編程人員的代碼開發壓力。

具體地,當需要將xml解析為map時,會將xml的節點,層層往map中賦值,其中xml節點的名稱為map的key,xml節點的內容為map的value;最後將map最深處的key-value鍵值對循環到最外面。如果存在重複的key,則其對應的value轉換為list方式進行存儲。最終在需要取用某個屬性時,可以直接根據節點的名稱,找到需要的節點的內容,快速的完成需要的數據獲取。具體流程可參照圖3。

如圖3所示,根據本發明的第二個實施例的xml文檔的解析方法,包括:

步驟s302,獲得xml文檔和需要的參數。需要說明的是,需要的參數即為給定的節點的相關信息,比如給定的節點的名稱。

步驟s304,使用dom4j解析該xml文檔,獲得頂端元素。其中,頂端元素即為根節點。

步驟s306,循環獲得所有元素(即獲得所有節點),放入list集合中。

步驟s308,遍歷需要的參數,在list集合中匹配相應的節點。即根據給定的節點的相關信息在list集合中匹配對應的節點。

步驟s310,獲取匹配到的節點的數據。

步驟s312,放入集合中作為輸出。

步驟s314,返回結果map。其中,xml節點的名稱為map的key,xml節點的內容為map的value。

圖4示意性示出了根據本發明的實施例的xml文檔的解析裝置的框圖。

如圖4所示,根據本發明的實施例的xml文檔的解析裝置400,包括:第一獲取單元402、解析單元404、第二獲取單元406和生成單元408。

具體地,第一獲取單元402用於獲取待解析的xml文檔,並獲取一指定節點的信息;解析單元404用於解析所述xml文檔,得到所述xml文檔中的所有節點;第二獲取單元406用於在所述所有節點中匹配所述指定節點,並獲取所述指定節點的相關數據;生成單元408用於根據所述指定節點的相關數據生成對應的map接口。

在本發明的一些實施例中,基於前述方案,所述解析單元404配置為:解析所述xml文檔,得到所述xml文檔中的根節點;基於所述根節點,循環獲取所述xml文檔中的所有節點。

在本發明的一些實施例中,基於前述方案,所述解析單元404還配置為:根據所述xml文檔中的所有節點,生成所述xml文檔的節點列表;所述第二獲取單元406配置為:在所述節點列表中匹配所述指定節點。

在本發明的一些實施例中,基於前述方案,所述指定節點的相關數據包括:所述指定節點的名稱和所述指定節點的內容。

在本發明的一些實施例中,基於前述方案,所述生成單元408配置為:將所述指定節點的名稱作為所述map接口的key,並將所述指定節點的內容作為所述map接口的value,以生成所述map接口。

本發明上述實施例提供的xml解析為map的方案,可以提供對小型xml文件的快速解析,從而無需關心如果進行數據轉化,讓程式設計師更加專注於技術的提升和業務的邏輯。同時解決了僅需要個xml文檔的少量數據,但需要拼裝xml文檔對應的整個對象的問題,有效減少了協議對象的創建,減輕程式設計師代碼開發壓力和強度。

應當注意,儘管在上文詳細描述中提及了用於動作執行的設備的若干模塊或者單元,但是這種劃分並非強制性的。實際上,根據本發明的實施方式,上文描述的兩個或更多模塊或者單元的特徵和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特徵和功能可以進一步劃分為由多個模塊或者單元來具體化。

通過以上的實施方式的描述,本領域的技術人員易於理解,這裡描述的示例實施方式可以通過軟體實現,也可以通過軟體結合必要的硬體的方式來實現。因此,根據本發明實施方式的技術方案可以以軟體產品的形式體現出來,該軟體產品可以存儲在一個非易失性存儲介質(可以是cd-rom,u盤,移動硬碟等)中或網絡上,包括若干指令以使得一臺計算設備(可以是個人計算機、伺服器、觸控終端、或者網絡設備等)執行根據本發明實施方式的方法。

本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本發明的其它實施方案。本申請旨在涵蓋本發明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發明的一般性原理並包括本發明未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本發明的真正範圍和精神由下面的權利要求指出。

應當理解的是,本發明並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本發明的範圍僅由所附的權利要求來限制。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀