使用 Groovy 脚本循环并合并文件夹中的 XML 个文件到一个 HTML 文件?

Loop and merge XML files in a folder to one HTML file using Groovy script?

我正在使用 ReadyAPI 并尝试获取我的报告生成,所以我正处于为每个测试用例生成所有 xml 文件的位置,我需要合并它们。

所以基本上我只有文件所在的路径,比方说 "C:\Path",XML 个文件所在的路径。

我找到了单个文件的解析器,以及将一个 XML 文件的一些信息附加到另一个 XML 文件的方法,但我还没有找到遍历所有 [=25] 的方法=] 文件并将其内容转储到新文件中...

如有任何帮助或指示,我们将不胜感激...

杰克逊。

这个答案有一个工作示例 here

假设我们有 XML 个这种形式的文件:

<composer>
  <name>Wolfgang Mozart</name>
  <born>1756</born>
</composer>

然后,我们可以从当前目录(或您需要的任何目录)中的每个 .xml 文件构建一个已解析 XML 文档的列表:

def composers = []

new File(".").eachFile { def file ->
    if (file.name ==~ /.*\.xml/) {
        composers << new XmlSlurper().parse(file)
    }
}

然后,我们可以使用StreamingMarkupBuilder创建一个统一的XML文件。请注意,这将标记与上面构建的 composers 列表混合在一起:

def xml = new StreamingMarkupBuilder().bind {
    root {
        composers.each { c ->
            mkp.yield c
        }
    }
}.toString()

也就是说,文档看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <composer>
    <name>Wolfgang Mozart</name>
    <born>1756</born>
  </composer>
  <composer>
    <name>JS Bach</name>
    <born>1685</born>
  </composer>
...
</root>

针对您的本地目标更改解决方案应该是直截了当的。