我有一个XML如下:
String xml = """
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope>
<soapenv:Body>
<processAsyncRequest></processAsyncRequest>
</soapenv:Body>
</soapenv:Envelope>
"""
使用Groovy,我想使用XPath(// :Body / [1] / name())
在“Body”中找到第一个节点名称Output Should be : processAsyncRequest
我使用XmlSlurper解析xml。但是无法弄清楚使用XPath获取节点名称的后续步骤
def rootNode = new XmlSlurper().parseText(xml)
有没有简单的方法来实现这一目标?注意:我的xml结构每次都会改变。所以我想使用相对路径。
答案 0 :(得分:1)
但那不是XPath
。它是GPath
String xml = """<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv='...'>
<soapenv:Body>
<processAsyncRequest></processAsyncRequest>
</soapenv:Body>
</soapenv:Envelope>
"""
def rootNode = new XmlSlurper().parseText(xml)
println rootNode.Body.'*'[0].name()