【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )
生活随笔
收集整理的這篇文章主要介紹了
【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、創建 XmlParser 解析器
- 二、獲取 Xml 文件中的節點
- 三、獲取 Xml 文件中的節點屬性
- 四、完整代碼示例
一、創建 XmlParser 解析器
創建 XmlParser 解析器 , 傳入 Xml 文件對應的 File 對象 ;
// 要解析的 xml 文件 def xmlFile = new File("a.xml")// 創建 Xml 文件解析器 def xmlParser = new XmlParser().parse(xmlFile)解析如下 xml 文件 :
<?xml version='1.0' encoding='UTF-8'?> <student><name code="utf-8">Tom</name><age>18</age><team><member>Jerry</member></team> </student>二、獲取 Xml 文件中的節點
使用
xmlParser.name代碼 , 可以獲取 Xml 文件中的 <name> 節點 , <name> 節點位于根節點下, 可以直接獲取 , 由于相同名稱的節點可以定義多個 , 因此這里獲取的 <name> 節點 是一個數組 ;
// 獲取 xml 文件下的 <name> 節點 // <name> 節點位于根節點下, 可以直接獲取 // 獲取的 <name> 節點是一個數組 // 如果只有一個該節點, 可以直接獲取第 0 個元素即可 println xmlParser.name println xmlParser.name[0]打印結果如下 :
[name[attributes={code=utf-8}; value=[Tom]]] name[attributes={code=utf-8}; value=[Tom]]獲取多層嵌套的節點 :
// 獲取 <team> 節點 下的 <member> 節點, 獲取的是數組 // 也是獲取第 0 個元素 println xmlParser.team[0].member[0]三、獲取 Xml 文件中的節點屬性
XmlParser 獲取的節點類型是 Node 類型對象 , 調用 Node 對象的 attributes() 方法 , 可獲取 Xml 節點的屬性 ;
// 獲取 name 節點 Node nameNode = xmlParser.name[0] // 獲取 Activity 節點的屬性 , 這是一個 map 集合 println nameNode.attributes()執行結果為 :
[code:utf-8]四、完整代碼示例
完整代碼示例 :
import groovy.xml.XmlNodePrinter// 要解析的 xml 文件 def xmlFile = new File("a.xml")// 創建 Xml 文件解析器 def xmlParser = new XmlParser().parse(xmlFile)// 獲取 xml 文件下的 <name> 節點 // <name> 節點位于根節點下, 可以直接獲取 // 獲取的 <name> 節點是一個數組 // 如果只有一個該節點, 可以直接獲取第 0 個元素即可 println xmlParser.name println xmlParser.name[0]// 獲取 <team> 節點 下的 <member> 節點, 獲取的是數組 // 也是獲取第 0 個元素 println xmlParser.team[0].member[0]// 獲取 name 節點 Node nameNode = xmlParser.name[0] // 獲取 Activity 節點的屬性 , 這是一個 map 集合 println nameNode.attributes()執行結果 :
[name[attributes={code=utf-8}; value=[Tom]]] name[attributes={code=utf-8}; value=[Tom]] member[attributes={}; value=[Jerry]] [code:utf-8] 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Groovy】xml 序列化 ( 使用
- 下一篇: 【Groovy】自定义 Xml 生成器