Я ищу способ разобрать эти переводы из предоставленного XML.Обратите внимание, что это может быть случай, когда существует более двух терминов, представленных как синонимы.
<root>
<languageGrp>
<language type="Deutsch" lang="DE"/>
<termGrp>
<term>Apfel</term>
</termGrp>
<termGrp>
<term>Braeburn</term>
</termGrp>
</languageGrp>
<languageGrp>
<language type="English" lang="EN"/>
<termGrp>
<term>Apple <xref Tlink="Deutsch:Apfelbaum">Tree</xref></term>
</termGrp>
</languageGrp>
</root>
Мой текущий код выглядит следующим образом:
import xml.etree.ElementTree as ET
import pandas as pd
liste = []
zsmliste = []
sprachliste= []
for element in root.iter():
if element.get("type")== "Deutsch" or element.get("type")== "English":
sprache= element.get("type")
sprachliste.append(element.get("type"))
liste = []
besch = []
zsmliste.append(liste)
for term in element.findall("term"):
liste.append(term.text)
dic = pd.DataFrame(list(zip(sprachliste, zsmliste)))
Проблема в том, что elementtree прекращает синтаксический анализкак только он попадает в HTML-ссылку, и поэтому забывает о дереве, что приводит к недостаточному выводу.
Я думал об удалении внешней ссылки с помощью регулярного выражения, но все кричали на меня, так как это xml.Есть идеи, как решить эту проблему с помощью elementtree?