我想知道是否可以在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
}
是否有其他方法可以访问grails中具有特定属性的节点?
答案 0 :(得分:1)
.find和.findAll工作。为清晰起见,我在您的示例中添加了另一个ROUTING节点:
alert(this.component.Name)
但这当然没有必要。
然后我可以找到ROUTING节点,并对其客户进行操作,如下:
<root>
<enrichedData datatable="ROUTING">
<customer>234</customer>
</enrichedData>
<enrichedData datatable="TABLE2">
<location>aaa</location>
</enrichedData>
<enrichedData datatable="ROUTING">
<customer>567</customer>
</enrichedData>
</root>
可以在链条的下方添加额外的.finds,但这应该给你一般的想法。