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