我的xml数据库是这样的:
<dict>
<word id="">
<sense>
<ids></ids>
<defs></defs>
</sense>
<sense>
<ids></ids>
<defs></defs>
</sense>
</word>
</dict>
我想提取给定单词A的所有感官,这是我的代码:
dic = etree.parse("data.xml")
for word in dic.xpath("/dict/word"):
MA = word.get("id")
if MA == u'قطار':
for elemt in word.findtext('sense/defs'):
definition = elemt
MonFichier.write(definition.encode("utf-8"))
问题是这段代码只写出最后的意义,而不是给定单词的所有意义。这是我第一次使用python,但我找不到任何解决方案。
答案 0 :(得分:0)
不确定我是否100%理解这个问题,但您可以尝试这样的事情:
words = etree.parse("data.xml").findall(u'.//word[@id="قطار"]')
for word in words:
for elemt in word.findall('sense/defs'):
MonFichier.write(elemt.encode("utf-8"))