0
我一直试图解析伦敦地铁Linestatus XML“feed” - 很少成功。我预料到这将使用XPath“简单”,但我得到空的节点。Python XPath/libxml2命名空间查询
我相当确定我没有正确处理英国的名字空间。
这里是我的(而不是简单的代码):
import libxml2
from urllib2 import urlopen
data = urlopen('http://cloud.tfl.gov.uk/TrackerNet/LineStatus').read()
try:
doc = libxml2.parseDoc(data)
except (libxml2.parserError, TypeError):
print "Problems loading XML"
context = doc.xpathNewContext()
context.xpathRegisterNs("uk", "http://webservices.lul.co.uk")
record_nodes = context.xpathEval('//uk:LineStatus')
for node in record_nodes:
print "******************************"
的record_nodes循环被忽略。 XML正在被正确解析。
有人可以请说明这一点。
您没有指定正确的(完整的)namespace-uri,因此试图选择不存在的名称空间中的元素。 – 2011-12-19 19:36:02