我正试图在它的一个子元素中找到一个具有特定文本值的元素。 例如
<peers>
<peer>
<offset>1</offset>
<tag>TRUE</tag>
</peer>
<peer>
<offset>2</offset>
<tag>FALSE</tag>
</peer>
</peers>
从这个XML文档中,我想直接在一个peer
元素中找到tag
,其offset
值为1。
为此,我有一个XPath表达式,如下所示:
./peers/peer[offset='1']/tag
然而,在ElementTree的Element.find()
方法中使用这样的表达式失败,并给出了None
而不是我感兴趣的“tag”元素:
from xml.etree.ElementTree import fromstring
doc = fromstring("<peers><peer><offset>1</offset><tag>TRUE</tag></peer><peer><offset>2</offset><tag>FALSE</tag></peer></peers>")
tag = doc.find("./peers/peer[offset='1']/tag")
print tag
=> None
我倾向于认为,这要么是我上面的XPath表达式错误,要么是因为根据ElementTree的文档,ElementTree只支持XPath的一个子集。 寻求帮助。谢谢您。
目前没有回答
相关问题 更多 >
编程相关推荐