【发布时间】:2009-07-05 13:27:21
【问题描述】:
.net 上的 xpath 和 python 中的 sax 的忠实粉丝,但第一次在 python 中使用 xpath。
我有一个小脚本,它使用 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'
关于如何在 xmlNode 上使用 xpath 有什么想法吗?我找不到任何好的在线信息。 谢谢
【问题讨论】: