как сделать проверку существования элемента с помощью XMLParser () - PullRequest
0 голосов
/ 22 марта 2019

Я не очень хорош в 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 голосов
/ 22 марта 2019

после анализа переменной 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...