私はこのような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() = ".*(.*?)"]')
しかし、それは機能しません。「(」は、ノードの末尾またはノードのテキストとして表示できます。