国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Groovy的XML解析和構建

2019-11-08 03:12:59
字體:
來源:轉載
供稿:網友

Groovy xml解析和構建

1、XmlParser解析XML??梢越馕鰔ml文件,也可以解析字符串。
def persons = new XmlParser().parse("persons.xml")或者
xmlStr = """<persons>	<person name="Mike" address="ShangHai">		<phone>131111111</phone>		<phone>131222222</phone>	</person>	<person name="Lily" address="BeiJing">		<phone>132111111</phone>		<phone>132222222</phone>	</person>	<person name="Jack" address="ShenZheng">		<phone>133111111</phone>		<phone>133222222</phone>	</person></persons>"""def persons = new XmlParser().parseText(xmlStr)XmlParser直接使用節點名稱來訪問,通過@+屬性名來訪問節點屬性值,使用text方法來訪問內容值。
PRintln persons.person.@name // [Mike, Lily, Jack]println persons.person[1].@name // Lilyprintln persons.person[0].phone.collect{it.text()} // [131111111, 131222222]2、XmlSlurper解析XML。XmlSlurper的用法和XmlParser的調用相似。
def persons = new XmlSlurper().parseText(xmlStr)println persons.person.@name // [Mike, Lily, Jack]println persons.person[1].@name // Lilyprintln persons.person[0].phone.collect{it.text()} // [131111111, 131222222]命名空間
xmlStr = """<persons xmlns:app="app">    <app:person name="Mike" address="ShangHai">        <phone>131111111</phone>        <phone>131222222</phone>    </app:person>    <person name="Lily" address="BeiJing">         <phone>132111111</phone>        <phone>132222222</phone>    </person>    <app:person name="Jack" address="ShenZheng">        <phone>133111111</phone>        <phone>133222222</phone>    </app:person></persons>"""def persons = new XmlSlurper().parseText(xmlStr).declareNamespace(x:'app')println persons.person[1].@name // Lilyprintln persons.'x:person'[1].@name // Jack3、MarkupBuilder構建適合中小型文檔。
writer = new StringWriter()mb = new groovy.xml.MarkupBuilder(writer)mb.persons {	person(name:"Mike", address:"ShangHai") {		phone(131111111)		phone(131222222)	}	person(name:"Lily", address:"BeiJing") {		phone(132111111)		phone(132222222)	}	person(name:"Jack", address:"ShengZhen") {		phone(133111111)		phone(133222222)	}}println writer返回
<persons>	<person name='Mike' address='ShangHai'>		<phone>131111111</phone>		<phone>131222222</phone>	</person>	<person name='Lily' address='BeiJing'>		<phone>132111111</phone>		<phone>132222222</phone>	</person>	<person name='Jack' address='ShengZhen'>		<phone>133111111</phone>		<phone>133222222</phone>	</person></persons>4、StreamingMarkupBuilder構建適合大型文檔。
xmlDoc = new groovy.xml.StreamingMarkupBuilder().bind {	mkp.xmlDeclaration() // <?xml version='1.0'?>	mkp.declareNamespace(app:"APP") // 命名空間	persons {		comment << "Just comment" // 注釋		app.person(name:"Mike", address:"ShangHai") {			phone(131111111)			phone(131222222)		}		app.person(name:"Lily", address:"BeiJing") {			phone(132111111)			phone(132222222)		}		person(name:"Jack", address:"ShengZhen") {			phone(133111111)			phone(133222222)		}	}}println xmlDoc返回
<?xml version='1.0'?><persons xmlns:app='APP'>	<!--Just comment-->	<app:person name='Mike' address='ShangHai'>		<phone>131111111</phone>		<phone>131222222</phone>	</app:person>	<app:person name='Lily' address='BeiJing'>		<phone>132111111</phone>		<phone>132222222</phone>	</app:person>	<person name='Jack' address='ShengZhen'>		<phone>133111111</phone>		<phone>133222222</phone>	</person></persons>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁津县| 临武县| 南乐县| 锡林郭勒盟| 怀宁县| 攀枝花市| 湘潭县| 修水县| 商丘市| 明星| 长顺县| 井研县| 怀集县| 兴安县| 武安市| 建湖县| 谷城县| 志丹县| 原平市| 鹤山市| 白水县| 澳门| 通许县| 长岛县| 图片| 库伦旗| 隆化县| 凤阳县| 汽车| 卫辉市| 凌海市| 湖北省| 宁津县| 锡林浩特市| 牡丹江市| 布拖县| 琼结县| 墨玉县| 论坛| 滦南县| 屏东县|