【发布时间】:2012-11-10 19:39:07
【问题描述】:
我有一个这样的 xml 结构
<JJJ version="2.0" >
<Data >
<Object class="classX">
<k name="constname1">variable1</p>
<k name="constname2">variable2</p>
<k name="constname3">variable3</p>
</Object>
<Object class="classY">
<k name="constname1">variable11</p>
<k name="constname2">variable12</p>
<k name="constname3">variable13</p>
</Object>
我需要选择 ClassX 节点并在该属性值中包含 constname1(即 variable1
def parser = new XmlSlurper()
def mymo=records.'Data'.'Object';
def mytest = mymo.findAll{it.@class.text()=="ClassX"};
mytest.each{
it.'p'.each{
println it.@name.text() +'-'+ it.text() }
}
这是有效的。但是,我需要做这样的事情,而不是在循环中对文本进行合并处理
def testme= mytest.'k'.find{ it.@name.text()=="constname1"}
这我搞错了
下面是对的
println mymo.'k'.find{it.@name.text()=="constname1"}
但我想将选择限制为 classX 的节点
【问题讨论】:
标签: groovy xml-parsing