Как я могу проверить наличие элемента с помощью Xmlslurper Groovy?

Я пытаюсь определить, существует ли XML-элемент с Xmlslurper Groovy. Есть ли способ сделать это? Например:

<foo>
  <bar/>
</foo>

Как проверить, существует ли элемент bar?

2 ответов


API немного странный, но я думаю, что есть несколько лучших способов искать детей. Что вы получаете, когда просите " xml.bar "(который существует)или " xml.quux", который не является заводной.утиль.slurpersupport.NodeChildren


метод isEmpty в GPathResult работает.

def text = "<foo><bar/></foo>"
def xml = new XmlSlurper().parseText(text)
assert false == xml.bar.isEmpty()

это беспокоит меня, потому что элемент bar is пустой - у него нет тела. Но я полагаю, что GPathResult не пуст, поэтому, возможно, это имеет смысл.