2017-03-26 3 views
0

私のxmlデータベースを抽出FINDTEXTこのようなものです:私は与えられた単語Aのすべての感覚を抽出したいXMLは、すべての要素

<dict> 
    <word id=""> 
    <sense> 
     <ids></ids> 
     <defs></defs> 
    </sense> 
    <sense> 
     <ids></ids> 
     <defs></defs> 
    </sense> 
    </word> 
</dict> 

、これは私のコードです:

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を使用しているのはこれが初めてで、解決策が見つかりませんでした。私は質問を100%理解していますが、このような何かを試すことができればわからない

答えて

0

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")) 
+0

いいえ、それは動作しません! – rim

関連する問題