Используйте XPath для анализа имени элемента, содержащего двоеточие
поэтому я пытаюсь разобрать некоторые из WootAPI С XPath. Проблема, с которой я сталкиваюсь, заключается в том, что у нескольких элементов есть двоеточия в их имени, такие как woot:price
или woot:condition
. Теперь, пытаясь использовать XPath //rss/channel/item/woot:price
не будет захватывать содержимое элемента woot:price
из-за кишечника, я думаю. Что я могу сделать, чтобы получить его?
1 ответов
двоеточия, потому что элементы имеют префикс пространства имен и привязаны к пространству имен Woot.
вы должны прочитать о пространства имен XML и как они влияют на XPATH и XSLT.
если вы хотите ссылаться на элементы Woot в вашем XPATH, вам либо нужно:
- объявить пространство имен Woot
http://www.woot.com/
Так что при использовании этого префикса пространства имен в вашем XPATH он будет понят. - используйте более общий Оператор XPATH, использующий фильтры предикатов, использующие
local-name()
иnamespace-uri()
в соответствие элемент.//rss/channel/item/*[local-name()='price' and namespace-uri()='http://www.woot.com/']