我在更大的xml文件中有以下xml记录:
<Employee>
<id>999</id>
<fname>Tim</fname>
<lname>Boskin</lname>
</Employee>
我试图通过python中的lxml和xpath获取fname和lname属性。以下声明没有返回任何内容:
fname = root.xpath('.//Employee[@id="999"]/fname')
我发现并尝试的每个例子都没有产生任何结果,那么正确的语法是什么?
答案 0 :(得分:1)
@id
选择名为id的属性的值。
这就是它出错的原因。试试这个:
fname = root.xpath('//Employee[id/text()="999"]/fname')
因为id
元素中没有名为Employee
的属性,所以它是Employee
元素的子元素。有关XPath轴的更多详细信息,请阅读 this 。