如何在groovy xmlslurper中检查标记是否包含值或子标记?

如何在groovy xmlslurper中检查标记是否包含值或子标记?,groovy,xmlslurper,Groovy,Xmlslurper,输入可以是动态变化的第一个或第二个。如何在没有任何迭代或单次检查的情况下实现上述if条件?请尝试以下代码: 我希望本规范能澄清您的要求 if (books.book has value ) do something else if(books.book has tag ) do something def list1=“xxx” def list2=“xxx” [list1,list2]。每个{text-> def root=new XmlSlurper().parseText(文本) if

输入可以是动态变化的第一个或第二个。如何在没有任何迭代或单次检查的情况下实现上述if条件?

请尝试以下代码:

我希望本规范能澄清您的要求

if (books.book has value ) do something 
else if(books.book has tag ) do something
def list1=“xxx”
def list2=“xxx”
[list1,list2]。每个{text->
def root=new XmlSlurper().parseText(文本)
if(root.book.children().collect{it.name()})
{
println'book有子项:'+root.book.children().collect{it.name()}
}
其他的
{
println'book有值:'+root.book
}
}

问题的一部分滑入了代码块。请修改格式。非常感谢:)。。root.book.children().collect{it.name()}这正是我要找的for@SoundariyaaJakanadhan高兴的享受编码……!:)
if (books.book has value ) do something 
else if(books.book has tag ) do something
def list1 = "<books><book>xxx</book></books>"

def list2 = "<books><book><new>xxx</new></book></books>"

[list1, list2].each{ text->

def root = new XmlSlurper().parseText(text)


    if (root.book.children().collect{ it.name()})
    {
        println 'book has children : '+ root.book.children().collect{ it.name()}
    }
    else
    {
        println 'book has value :'+root.book
    }
}