【问题标题】:Parse XML recursively in groovy / java在 groovy / java 中递归解析 XML
【发布时间】:2018-05-16 12:56:45
【问题描述】:

我有以下 .XML 文件:

<testItems>
<children>
    <testItem name=TestSuite1>
        <children>
            <testItem name=test1>
            </testItem>
            <testItem name=test2>
            </testItem>
            <testItem name=test3>
            </testItem>
        </children>
    </testItem>
    <testItem name=TestSuite2>
        <children>
            <testItem name=test3>
            </testItem>
            <testItem name=test4>
            </testItem>
            <testItem name=test5>
            </testItem>
        </children>
    </testItem>
</children>

我想实现将访问每个节点的 java / groovy 递归算法,无论深度如何(在示例中最大深度为 2,但它可以变化)

到目前为止,我有:

root.testItems.children.testItem.each{testItem ->
...rest of code...
}

它将访问TestSuite1和TestSuite2,但我希望它递归地访问所有节点。

非常感谢任何帮助!

【问题讨论】:

  • 请展示您尝试编写递归函数的代码,并详细说明您遇到的问题。我们不会为您编写整个代码,但我们可以帮助您解决代码中的具体问题。

标签: java xml groovy xml-parsing


【解决方案1】:
def root = new XmlParser().parseText(...)
root.depthFirst().each{e->
    //do something with each element
}

【讨论】:

    猜你喜欢
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 2013-03-13
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多