List 将属性和值收集到字符串列表中
我的xml数据如下所示:List 将属性和值收集到字符串列表中,list,groovy,xmlslurper,collect,List,Groovy,Xmlslurper,Collect,我的xml数据如下所示: <persons> <person key="M">John Doe</person> <person key="N">Jane Doe</person> </persons> 我使用XmlSlurper将数据转换成变量“p”后: p.collect { [key: it.@key.text(), name it.text()] } 但我明白了 [[key: MN, name: John
<persons>
<person key="M">John Doe</person>
<person key="N">Jane Doe</person>
</persons>
我使用XmlSlurper将数据转换成变量“p”后:
p.collect { [key: it.@key.text(), name it.text()] }
但我明白了
[[key: MN, name: John DoeJane Doe]]
显然我做错了什么,但我不知道是什么。我尝试了许多方法,但得到了相同的答案。尝试从根节点查找
子节点()
def xml = """
<persons>
<person key="M">John Doe</person>
<person key="N">Jane Doe</person>
</persons>
"""
def slurper = new XmlSlurper().parseText( xml )
assert [
[key:'M', name:'John Doe'],
[key:'N', name:'Jane Doe']
] == slurper.children().collect {
[ key: it.@key.text(), name: it.text() ]
}
defxml=”“”
无名氏
无名氏
"""
def slurper=new XmlSlurper().parseText(xml)
断言[
[钥匙:'M',姓名:'John Doe'],
[钥匙:'N',姓名:'Jane Doe']
]==slurper.children().collect{
[key:it.@key.text(),name:it.text()]
}
这就解决了它和几个后续问题。事实证明,Stackoveflow比我读过的所有文档都信息丰富。
def xml = """
<persons>
<person key="M">John Doe</person>
<person key="N">Jane Doe</person>
</persons>
"""
def slurper = new XmlSlurper().parseText( xml )
assert [
[key:'M', name:'John Doe'],
[key:'N', name:'Jane Doe']
] == slurper.children().collect {
[ key: it.@key.text(), name: it.text() ]
}