尝试在 XML 文档中查找某个节点时,我遇到了名称空间问题。这是我正在使用的代码:
简化的 XML 文件:
<?xml version="1.0" encoding="UTF-8"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:components>
<map:generators>
...
<map:generator name="FinsXMLGenerator"/>
</map:generators>
...
我正在尝试接收以下节点:
<map:generator name="FinsXMLGenerator"/>
使用以下 DOMCategory 闭包:
def closure = { sitemap ->
def result = sitemap.'map:sitemap'.'map:components'.'map:generators'.'map:generator'.'@name'.find({
it.text() == 'FinsXMLGenerator'
});
return result;
}
我已经在 XML 中编写了很多这样的没有名称空间的闭包,它们工作得非常好。但是名称空间会破坏一切。
我没有收到任何错误,结果只是空值。任何人都可以帮我修复路径 - 例如
sitemap.'map:sitemap'...
我正在使用 Groovy。