большой поклонник xpath на .net и sax в python, но сначала использует xpath в python.Как получить xpathContext из xmlNode в python
У меня есть небольшой скрипт, который использует xpath для выбора некоторых узлов из документа, итерации через них, а затем в идеале снова использует xpath для получения соответствующих данных от них. Однако я не могу получить этот последний бит, как только у меня есть xmlNode, я не могу получить из него контекст.
import libxml2
import urllib
doc = libxml2.parseDoc(
urllib.urlopen('http://somemagicwebservice.com/').read())
ctxt = doc.xpathNewContext()
listitems = ctxt.xpathEval('//List/ListItem')
for item in listitems:
itemctxt = item.xpathNewContext()
title = itemctxt.xpathEval('//ItemAttributes/Title')
asin = itemctxt.xpathEval('//Item/ASIN')
itemctxc.xpathFreeContext()
ctxt.xpathFreeContext()
doc.freeDoc()
Однако itemctxt = item.xpathNewContext()
бит не удается с
itemctxt = item.xpathNewContext()
AttributeError: xmlNode instance has no attribute 'xpathNewContext'
Любые идеи, как использовать XPath на XMLnode? Я не могу найти хорошую онлайн-информацию. Thanks
Ну, у меня были схожие проблемы с lxml, но, оказывается, проблема была связана с тем, как xpath имеет дело с пространствами имен. Элемент Path от lxml упростил ситуацию. Благодарю. – Kurt
Если кто-то хочет посмотреть, что у меня получилось, ознакомьтесь с https://bitbucket.org/kurthaeusler/getwishlist/src/tip/getwishlist.py – Kurt