java – GPathResult ..存在或不存在节点

前端之家收集整理的这篇文章主要介绍了java – GPathResult ..存在或不存在节点前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的GPathResult可以使用3种方式之一的名称节点

1)名称节点存在并具有值
前:约翰

2)名称节点存在,但没有值.

3)根本没有名称节点.

在Groovy代码中,我如何使用我的Gpathresult区分上述3个案例.我是否使用像gPathResult这样的东西. value()!= null?

Pesudo代码

if(name node is present and has a value){
do this
}

if(name node exists,but has no value in it){
do this
}

if( No name node exists at all){
do this
}

解决方法

你必须测试size().
为了保持Olivier的例子,只需修复以便使用GPathResult并且它可以同时使用XmlSlurper和XmlParser代码
def xml="<a><b>yes</b><c></c></a>"
def gpath = new XmlSlurper().parse(new ByteArrayInputStream(xml.getBytes())) 
["b","c","d" ].each() {
    println it
    if (gpath[it].size()) {
        println "  exists"
        println gpath[it].text() ? "  has value" : "   doesn't have a value"
    } else {
        println "  does not exist"
    }
}

猜你在找的Java相关文章