【发布时间】:2014-04-28 11:34:51
【问题描述】:
这是我的xml
<Departments orgID="1234 " name="This is Demo Name">
<Department>
.
.
</Department>
<Department>
.
.
</Department>
</Departments>
我想使用 orgID 获取这个 xml 的属性。
假设orgID=1234 那么输出应该是
This is Demo Name
我尝试过的,
import urllib2
import lxml.etree as ET
url="url goes here"
xmldata = urllib2.urlopen(url).read()
root = ET.fromstring(xmldata)
print root.xpath('//Departments/orgID[text()="1234"]/preceding-sibling::name/text()')[0]
但出现错误,
Traceback (most recent call last):
File "D:\JAVA\test-img\test\test.py", line 12, in <module>
print root.xpath('//Departments/orgID[text()="1234"]/preceding-sibling::name/text()')[0]
IndexError: list index out of range
我在这里做错了什么?
【问题讨论】:
-
您的 xpath 似乎没有匹配任何内容,因为当您请求第一个元素时,只有空列表会出现索引错误
标签: python python-2.7 xml-parsing elementtree xml.etree