使用Groovy XMLParser访问XML节点的内容
问题描述:
我有一些具有相同标记名称但等于不同值的元素。下面的例子显示了我的解析。使用Groovy XMLParser访问XML节点的内容
<Report>
<ReportHost name= 2.3.3.3><HostProperties>
<tag name="x"> Monday...</tag>
<tag name="z"> Linux.....</tag>
我的问题是我怎么捕获文本字符串“X” ..和“Z” 后,目前我有
langs.Report.ReportHost.each{ReportHost->
${ReportHost.HostProperties.tag['@name']}"
但这只是抓住x和z。之后需要什么语法来获取文本,包括星期一和Linux。
答
这将打印出的标签属性列表,然后该节点的内容列表:
langs.ReportHost.each { reportHost ->
println "tag = ${reportHost.HostProperties.tag['@name']}"
println "cont = ${reportHost.HostProperties.tag*.text()}"
}
如果你把你的每一个进一步下跌的树,那么你可以很容易地将它们打印在一行
langs.ReportHost.HostProperties.tag.each { tag ->
println "tag=${[email protected]} content=${tag.text()}"
}
你需要抓住每个标签的.text,你特别要求属性值。 – 2012-07-18 12:45:46