我正在使用ReadyAPI并尝试获取我的报告生成,所以现在我已经生成了每个测试用例的所有xml文件,因此我需要将它们合并。
所以基本上,我只有一个路径,即XML文件所在的路径,例如“ C:\ Path”。
我找到了单个文件的解析器,以及将一个XML文件的某些信息附加到另一个XML文件中的方法,但是我还没有找到遍历所有XML文件并将其内容转储到新文件中的方法...
任何帮助或指示都将不胜感激...
杰克逊。
答案 0 :(得分:1)
此答案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>
为您的本地目标更改解决方案应该很简单。