[發明專利]XML文檔轉換為對象、對象轉換為XML文檔的方法及裝置在審
| 申請號: | 201710279795.8 | 申請日: | 2017-04-25 |
| 公開(公告)號: | CN107239492A | 公開(公告)日: | 2017-10-10 |
| 發明(設計)人: | 趙睿;范立波;陳皓;劉冬娜;朱延超;陳懿;魏海健 | 申請(專利權)人: | 大象慧云信息技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京潤川律師事務所11643 | 代理人: | 張超 |
| 地址: | 100195 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | xml 文檔 轉換 對象 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,具體涉及一種XML文檔轉換為對象、對象轉換為XML文檔的方法及裝置。
背景技術
隨著web開發的日益流行,數據交互也越發的重要。無論是前端和后端之間的交互,還是客戶端和服務器之間的交互,異或是不同服務器之間的交互都體現了數據的交互。
而網絡的本質就是一個數據之間互相傳遞、互相修改、互相影響的拓撲結構。為了解決數據之間的傳遞問題,國際之間漸漸形成了兩種規范:一種是基于特殊符號的傳遞方式,如JSON(JavaScript Object Notation,一種輕量級的數據交換格式);另一種是基于一定格式的傳遞方式,如XML(Extensible Markup Language,擴展標記語言)。JSON現在依然只是在web端比較流行,而XML 卻一直占據巨大的數據交互的份額。
但是,目前卻沒有提供XML和java對象之間轉化的方法,于是需要程序員自己根據當前的業務來書寫相應的轉換方法,,但是較低的使用范圍和重復利用率,成為了數據交互這上面的一個比較尷尬的問題。
需要說明的是,在上述背景技術部分公開的信息僅用于加強對本發明的背景的理解,因此可以包括不構成對本領域普通技術人員已知的現有技術的信息。
發明內容
本發明的目的在于提供一種XML文檔轉換為對象及對象轉換為XML文檔的方案,進而至少在一定程度上克服由于相關技術的限制和缺陷而導致的一個或者多個問題。
本發明的其他特性和優點將通過下面的詳細描述變得顯然,或部分地通過本發明的實踐而習得。
根據本發明的一個方面,提供了一種XML文檔轉換為對象的方法,包括以下步驟:獲取待解析的XML文檔,并獲取一指定的class類型;根據所述指定的class類型,反射創建類;解析所述XML文檔,得到所述XML文檔中的根節點;根據所述根節點下的節點的信息向創建出的類進行賦值,以得到class 對象。
在本發明的一些實施例中,基于前述方案,根據所述根節點下的節點的信息向創建出的類進行賦值的步驟,包括:對于所述根節點下的任一節點,判斷所述任一節點是否具有下級節點;若所述任一節點不具有下級節點,則獲取所述任一節點的名稱和內容;根據所述任一節點的名稱和內容向創建出的類進行賦值,得到一class對象。
在本發明的一些實施例中,基于前述方案,還包括:若所述任一節點具有下級節點,則根據所述任一節點的屬性確定創建出的類是否是與所述任一節點對應的類;在創建出的類是與所述任一節點對應的類時,根據所述任一節點的名稱和內容向創建出的類進行賦值,得到一class對象。
在本發明的一些實施例中,基于前述方案,還包括:在根據任一節點的名稱和內容向創建出的類進行賦值得到一class對象時,判斷創建出的類中是否有對應于所述任一節點的屬性;若創建出的類中有對應于所述任一節點的屬性,則根據所述任一節點的內容,向得到的class對象的屬性進行賦值。
在本發明的一些實施例中,基于前述方案,根據所述任一節點的內容,向得到的class對象的屬性進行賦值的步驟,包括:判斷所述任一節點中是否存在 set方法;若所述任一節點中存在set方法,則通過set方法將所述任一節點的內容賦值給得到的class對象的屬性;若所述任一節點中不存在set方法,則修改得到的class對象的屬性狀態,并通過所述任一節點的內容直接向得到的class 對象的屬性進行賦值。
在本發明的一些實施例中,基于前述方案,還包括:判斷創建出的類中是否有自定義注解;若創建出的類中有自定義注解,則獲取所有自定義注解的屬性;在所述所有自定義注解的屬性中,判斷創建出的類中是否有對應于所述任一節點的屬性。
根據本發明的第二方面,還提供了一種對象轉換為XML文檔的方法,包括以下步驟:獲取一待轉換的對象;判斷所述對象的類中是否存在注解;將所述對象的類的類名作為XML文檔的根節點的名稱,并根據所述對象的類中是否存在注解來生成所述根節點的子節點;基于所述根節點和所述根節點的子節點,生成XML文檔。
在本發明的一些實施例中,基于前述方案,根據所述對象的類中是否存在注解來生成所述根節點的子節點的步驟,包括:若所述對象的類中存在注解,則獲取所有被注解的屬性;根據所有被注解的屬性的名稱和值,生成所述根節點的子節點。
在本發明的一些實施例中,基于前述方案,根據所述對象的類中是否存在注解來生成所述根節點的子節點的步驟,包括:若所述對象的類中不存在注解,則獲取所述對象的屬性;根據所述屬性的類型,生成所述根節點的子節點。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大象慧云信息技術有限公司,未經大象慧云信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710279795.8/2.html,轉載請聲明來源鉆瓜專利網。





