ich eine XML-Datei mit dieser Struktur haben:Python minidom Prüfungselement existiert
<?DOMParser ?>
<logbook:LogBook xmlns:logbook="http://www/logbook/1.0" version="1.2">
<visits>
<visit>
<general>
<technology>EB</technology>
</general>
</visit>
<visit>
<general>
<grade>23242</grade>
<technology>EB</technology>
</general>
</visit>
</visits>
</logbook:LogBook>
Ich möchte überprüfen, ob jede Spalte in dem Tag visit
vorhanden ist, und wenn es nicht vorhanden Ich möchte keine zurückzukehren, so Ich habe diesen Code geschrieben:
import xml.dom.minidom as minidom
mydict={}
columnsLst=['grade','technology']
doc=minidom.parse('file.xml')
visitcount=len(doc.getElementsByTagName('visit'))
for i in range(visitcount):
for c in columnsLst:
if(doc.getElementsByTagName(c)[i].firstChild):
mydict[c]=doc.getElementsByTagName(c)[i].firstChild.data
print(mydict)
Dies funktioniert nicht, da es keine zurückgibt für Elemente, die nicht existiert. und ich bekomme index error
seit grade
existiert nicht für die erste visit
.
versuchte ich this solution auch hasChild() zu verwenden, aber es gibt Fehler:
'Element' object has no attribute 'hasChild'
Jede Idee hier?