![](/img/trans.png)
[英]reference to invalid character number: (Python ElementTree parse)
[英]Python ElementTree “Invalid descendant” error
我有一個XML文件, foo.xml
:
<foo>
<bar>
<baz phrase="hello"/>
</bar>
<quux phrase="goodbye"/>
</foo>
我用這個Python代碼解析它:
import lxml.etree as ET
# or if you don't have lxml: import xml.etree.ElementTree as ET
doc = ET.parse('foo.xml').getroot()
for elem in doc.findall('*[@phrase]'):
print(elem)
這給了我:
<Element 'quux' at 0x7fa1419a1d18>
現在我想找到帶有phrase
屬性的所有元素,所以我嘗試'.//[@phrase]'
但是然后findall()
失敗了:
SyntaxError: invalid descendant
我不明白什么是錯的。 如果我使用內置的xml.etree.ElementTree
而不是lxml
則會出現相同的錯誤消息。
請注意'.//'
有效,但返回bar, baz, quux
,我不想要bar
因為它沒有phrase
屬性。
你需要*
作為".//*[@phrase]"
標簽名稱
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.