如何使用XPath在XML中获取特定节点名称(使用Groovy)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用XPath在XML中获取特定节点名称(使用Groovy)相关的知识,希望对你有一定的参考价值。
我有一个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结构每次都会改变。所以我想使用相对路径。
答案
但那不是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()
以上是关于如何使用XPath在XML中获取特定节点名称(使用Groovy)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Java 中使用 XPath 从 XML 中获取特定节点?
如何使用 xPath (10g) 在 Oracle SQL extract() 中获取节点名称
无论特定 Id 如何,如何使用 XPath 选择类别 XML 节点?