【问题标题】:Groovy: Get XML Tag first levelGroovy:获取 XML 标记第一级
【发布时间】:2018-06-13 13:53:28
【问题描述】:

如何使用 Groovy 获取 XML 文件的“一级”标签名称。 假设我们有以下 XML:

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

...我想根据我的脚本获得“第一”和“第二”。

我正在使用 XMLSlurper 解析 XML:

def xml = new XmlSlurper().parse("test.xml");

我尝试使用 depthFirst() 方法,但这会提供所有可用的节点。

谢谢

【问题讨论】:

    标签: xml groovy


    【解决方案1】:

    我可以使用以下语句来实现这一点:

    println xml.'*'*.name()
    

    【讨论】:

      【解决方案2】:

      一种方法是:

      def xml = new XmlSlurper().parse("test.xml")
      
      xml.children().each { node -> 
        println node.name()
      }
      

      xml 和 node 变量的类型均为:

      groovy.util.slurpersupport.NodeChild

      以上打印:

      first
      second
      

      或者如果您希望将第一级节点名称作为列表:

      def xml = new XmlSlurper().parse("test.xml")
      
      def firstLevelNames = xml.children()*.name()
      println firstLevelNames
      

      打印:

      [first, second]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多