При попытке найти определенный узел в документе XML у меня возникают проблемы с пространствами имен. Вот код, я использую:Проблемы с пространствами имен в XML-поиске, используя DOM-категорию
Упрощенный 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.
Ах, наконец-то она работает, спасибо тим! Ха-ха, я заметил, что ты тот, кто ответил на все мои вопросы до сих пор.^ –
Рад помочь :-) –