使用Python lxml获取元素树

时间:2013-04-29 06:54:34

标签: python xml xpath lxml

我在更大的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')

我发现并尝试的每个例子都没有产生任何结果,那么正确的语法是什么?

1 个答案:

答案 0 :(得分:1)

@id选择名为id的属性的值。

这就是它出错的原因。试试这个:

fname = root.xpath('//Employee[id/text()="999"]/fname')

因为id元素中没有名为Employee的属性,所以它是Employee元素的子元素。有关XPath轴的更多详细信息,请阅读 this