如何使用XMLParser()检查元素是否存在

时间:2019-03-22 11:36:49

标签: groovy

我不太擅长使用Groovy,事先对不起,这可能非常基础。 我已经使用XMlParser()类编写了所有代码,因此无法返回其他可用的类(例如XMLSlurper)。

def data ="""<?xml version="1.0" encoding="UTF-8"?>
           <foo>
           </bar>
           </foo>"""

我需要检查元素是否存在。我已经使用了多种示例

def xml= new XmlParser().parseText(data);

if(xml.foo.bar.isEmpty())
def value = xml.foo.bar.text()

也尝试过

if(xml.foo.bar == null)
def value = xml.foo.bar.text()

也尝试过

if(xml.foo.bar.size() == 0)  ==> this works in XMLSlurper
def value = xml.foo.bar.text()

,但似乎没有任何效果。有人可以帮忙吗? 我也找不到XMLParser()类的任何好的文档/代码示例

1 个答案:

答案 0 :(得分:0)

在解析xml变量之后,已经引用了根元素foo

因此,您的访问者应为

if(xml.bar)...

代码看起来像这样

def data ="""<?xml version="1.0" encoding="UTF-8"?>
           <foo>
           <bar>123</bar>
           </foo>"""

def xml= new XmlParser().parseText(data);

assert xml.bar
def value = xml.bar.text()