我正在使用ReadyAPI并试图获取我的报告生成,因此我处于生成每个测试用例的所有xml文件的位置,并且我需要合并它们。
所以基本上我只有文件所在的路径,比方说"C:\ path ",XML文件所在的路径。
我已经找到了单个文件的解析器,以及将一个XML文件的一些信息附加到另一个XML文件中的方法,但我还没有找到遍历所有XML文件并将其内容转储到新文件中的方法……
任何帮助或暗示都会非常感谢...
杰克逊。
发布于 2018-07-01 05:54:54
这个答案有一个有效的例子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>
为您的本地目标更改解决方案应该是直接的。
https://stackoverflow.com/questions/51103455
复制相似问题