首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Groovy脚本将文件夹中的XML文件循环并合并为一个HTML文件?

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

Stack Overflow用户
提问于 2018-06-29 21:58:08
回答 1查看 464关注 0票数 0

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

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

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

任何帮助或暗示都会非常感谢...

杰克逊。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 05:54:54

这个答案有一个有效的例子here

让我们假设我们有如下形式的XML文件:

代码语言:javascript
复制
<composer>
  <name>Wolfgang Mozart</name>
  <born>1756</born>
</composer>

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

代码语言:javascript
复制
def composers = []

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

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

代码语言:javascript
复制
def xml = new StreamingMarkupBuilder().bind {
    root {
        composers.each { c ->
            mkp.yield c
        }
    }
}.toString()

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

代码语言:javascript
复制
<?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>

为您的本地目标更改解决方案应该是直接的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51103455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档