我有一个这样的xml文件:
<data>
<entry>
<word>ABC</word> (this)
</entry>
<entry>
<word>ABC</word> [not this]
</entry>
</data>
我想选择其后代包含“(”的节点,并将(。*)移动到文本<entry>
。即:
<data>
<entry>
(this)
<word>ABC</word>
</entry>
<entry>
<word>ABC</word> [not this]
</entry>
</data>
我正在使用lxml。我试过了:
import lxml.etree as ET
data = ET.parse('sample.xml')
for entry in data.iter('entry'):
A = entry.xpath('.//*[text() = ".*(.*?)"]')
但它不起作用。"(" 可以显示为节点的尾部或节点的文本。