gpt4 book ai didi

grails - 如何在Groovy中查找具有特定属性值的节点的文本?

转载 作者:行者123 更新时间:2023-12-02 14:46:14 26 4
gpt4 key购买 nike

我正在使用XMLSlurper。我的代码在下面(但不起作用)。问题是,当它命中不具有属性“id”的节点时,它将失败。我该如何处理?

//Parse XML
def page = new XmlSlurper(false,false).parseText(xml)

//Now save the value of the proper node to a property (this fails)
properties[ "finalValue" ] = page.find {
it.attributes().find { it.key.equalsIgnoreCase( 'id' ) }.value == "myNode"
};

我只需要考虑没有“id”属性的节点,这样它就不会失败。我怎么做?

最佳答案

您也可以使用GPath表示法,并先检查“@id”是否为空。

下面的代码片段查找最后一个元素(由于id属性为“B”,并且值也为“bizz”,因此将打印出“bizz”和“B”)。

def xml = new XmlSlurper().parseText("<foo><bar>bizz</bar><bar id='A'>bazz</bar><bar id='B'>bizz</bar></foo>")
def x = xml.children().find{!it.@id.isEmpty() && it.text()=="bizz"}
println x
println x.@id

关于grails - 如何在Groovy中查找具有特定属性值的节点的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9709807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com