日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Groovy】Xml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )

發布時間:2025/6/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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 文件中的节点属性 )的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。