如何使用groovy从xml文件中获取数据?

v9tzhpje  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(188)

以下groovy脚本未按预期工作。

def xml="<Collection><CustomerQuote><ID>99988877766</ID><TypeCode>2059</TypeCode><ApprovalStatusCode>4</ApprovalStatusCode></CustomerQuote><CustomerQuote><ID>99988877755</ID><TypeCode>2059</TypeCode><ApprovalStatusCode>4</ApprovalStatusCode></CustomerQuote></Collection>"

 def completeXml= new XmlSlurper().parseText(xml);
 def IDs = completeXml.Collection.CustomerQuote.findAll{node-> node.name() == 'ID' }*.text();

我正在尝试将xml中的所有ID值复制到
IDs[]
IDs[]
Expected Output
IDs[99988877766,99988877755]
我不知道我做错了什么。
可以有人指导。
感谢您发送编修普拉

jtw3ybtb

jtw3ybtb1#

当使用XmlSlurper时,根节点必须被省略,并且您不需要为此使用findAll

def xml="<Collection><CustomerQuote><ID>99988877766</ID><TypeCode>2059</TypeCode><ApprovalStatusCode>4</ApprovalStatusCode></CustomerQuote><CustomerQuote><ID>99988877755</ID><TypeCode>2059</TypeCode><ApprovalStatusCode>4</ApprovalStatusCode></CustomerQuote></Collection>"

def completeXml= new XmlSlurper().parseText(xml);
def IDs = completeXml.CustomerQuote.ID*.text();

将输出:

[
  "99988877766",
  "99988877755"
]

Groovy Web Console中试用

相关问题