我已经检查了网站,虽然很多人都在寻找类似的解决方案,但我的具体问题的解决方案还没有发布,也没有提出类似的问题。
我的XML看起来像这样:
<root>
<item1>TEXT A</item1>
<item2>TEXT B</item2>
<subs>
<sub1>
<thing property1='valueA' property2='valueB'>
<foo>fooA</foo>
</sub1>
<sub2>
<thing property1='valueC' property2='valueD'>
<foo>fooA</foo>
</sub2>
</subs>
</root>
我想要“TEXT B”
我在想
def xml = new XmlParser().parseText(MY_XML_FILE)
但现在如何访问“TEXT B”??
xml.root.item2.text
不起作用。有什么想法吗?
答案 0 :(得分:3)
这里有一些事情发生了:
Groovy的XmlParser和XmlSlurper(我建议使用后者)获取一个包含在根元素中的XML文档(格式良好的XML始终存在于根元素中)。 Groovy不要求您指定根元素,所以
xml.root.item1
可以成为
xml.item1
如果您有多个item1,则需要将它们作为数组访问。
xml.item1[0]
您的XML格式不正确。你错过了两个结束标签。
要获取节点的内部文本,请使用text()而不是text(这是方法)。
以下是XmlParser和XmlSlurper上的一些优秀资源。