gpt4 book ai didi

xml - 在节点对象的grails中使用xpath表达式

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

我想知道是否有可能在grails中的节点对象上使用xpath liky语法。

<root>   
<enrichedData datatable="ROUTING">
<customer>234</customer>
</enrichedData>
<enrichedData datatable="TABLE2">
<location>aaa</location>
</enrichedData>
</root>

通过此xml结构,使用此xpath表达式很简单:
/data/enrichedData[@datatable='ROUTING']/customer

当我通过节点访问它时,我使用此代码
root.data.enrichedData.each {
if(it.attributes().get("datatable"=="ROUTING")) {
//do some stuff here
}

还有没有其他方法可以访问具有特定属性的节点?

最佳答案

.find和.findAll工作。为了清楚起见,我在示例中添加了另一个ROUTING节点:

<root>   
<enrichedData datatable="ROUTING">
<customer>234</customer>
</enrichedData>
<enrichedData datatable="TABLE2">
<location>aaa</location>
</enrichedData>
<enrichedData datatable="ROUTING">
<customer>567</customer>
</enrichedData>
</root>

但这当然不是必需的。

然后,我可以找到ROUTING节点,并对其客户进行操作,如下所示:
data.enrichedData.findAll{it.@datatable == "ROUTING"}.customer.each { println it.text() }
可以在链的更远处添加其他.finds,但这应该可以为您提供总体思路。

关于xml - 在节点对象的grails中使用xpath表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44941962/

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