xml - 如何在 Groovy 中通过标签名称查找所有 XML 元素?

标签 xml groovy

我如何通过 Groovy (GPath) 中的标签名称找到 XML 中的所有元素?

我需要在这个文档中找到所有的 car 元素:

<records>
  <first>
    <car>
      <id>378932</id>
    </car>
  </first>
  <second>
    <foo>
      <car>
       <name>audi</name>
      </car>
    </foo>
  </second>
</records>

这是我尝试过但失败了的:

def xml = new XmlSlurper().parse(file)
assert xml.car.size() == 2

最佳答案

它是这样工作的:

def xml = new XmlSlurper().parse(file)
def cars = xml.depthFirst().findAll { it.name() == 'car' }
assert cars.size() == 2

关于xml - 如何在 Groovy 中通过标签名称查找所有 XML 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6726592/

相关文章:

java - 方法 : java. util.Date.parse() 的无签名适用于参数类型

c# - 将 XSD 文件转换为 C# 可序列化类

xml - 如何使用 nodesForXPath (NSXMLDocument) 选择属性

c# - 在 C# 中检测 XML 片段

xml - 如何在 Joomla JForm XML 文件中添加动态下拉列表

groovy - @CompileStatic 用于普通 Groovy 脚本

java - 使用 app.context 时 Grails 重定向到错误的地址?

grails - 在 Grails 应用程序中引用本地 Groovy 项目

xml - 开发人员使用 XML Schema 智能感知创建 XML 文件的最佳界面是什么?

java - Mqtt Paho - 尝试在代理无法访问时发布