使用Groovy从文本文件中声明XML块

时间:2018-08-07 07:20:11

标签: xml groovy assertions

我有一个xml文件,其中包含几个具有相同父名称的块,但包含具有不同值的不同标签:

<Block>
   <tag1>123</tag1>
   <tag2>456</tag2>
   <tag3>789</tag3>
</Block>
<Block>
   <tag1>321</tag1>
   <tag2>654</tag2>
   <tag3>987</tag3>
</Block>
<Block>
   <tag1>111</tag1>
   <tag2>444</tag2>
   <tag3>777</tag3>
</Block>
<Block>
   <tag1>22</tag1>
   <tag2>55</tag2>
   <tag3>88</tag3>
</Block>

此文件是在基于某些输入的特定请求之后生成的,每次都应包含特定值。

我想创建一个Groovy脚本来自动验证每个单独块的标签中的值,但是由于所有这些块都具有相同的名称,而且我相对较新,所以我无法做到这一点:(可以你可以帮我吗?

1 个答案:

答案 0 :(得分:1)

使用XML的基本工作可能像这样

File inputFile = new File("path")
def xml = new XmlParser(false, false).parse(inputFile)

xml.Block.each{
    int sum = 0
    sum += it.tag1.toInt()
    sum += it.tag2.toInt()
    sum += it.tag3.toInt()
}

您可以根据总和或任何需要的内容对其进行验证