Ich habe ein Skript, das alle XML-Dateien im Verzeichnis durchsucht und dann diese XML-Dateien analysiert, um die Daten im Element IS
tag ICP
zu erhalten. Es gibt jedoch mehrere Tausend dieser XML-Dateien und einige von ihnen möglicherweise nicht ICP
in IS
. Gibt es eine Möglichkeit, dies über Minidom zu tun?Minidom - Überprüfen, ob das Tag in XML vorhanden ist
Beispiel für XML Ich bin Parsen, dass Element IS
und Tag ICP
:
<is ico="0000000000" pcz="1" icp="12345678" icz="12345678" oddel="99">
Beispiel für XML Ich bin Parsen dieses Element hat IS
aber keinen Tag ICP
:
<is ico="000000000">
Hier mein Skript offensichtlich fehlgeschlagen, da es keine ICP
gibt. Wie kann man das Vorhandensein des Tags ICP
prüfen?
Mein Skript:
import os
from xml.dom import minidom
#for testing purposes
directory = os.getcwd()
print("Zdrojový adresář je: " + directory)
print("Procházím aktuální adresář, hledám XML soubory...")
print("Procházím XML soubory, hledám IČP provádějícího...")
with open ('ICP_all.txt', 'w') as SeznamICP_all:
for root, dirs, files in os.walk(directory):
for file in files:
if (file.endswith('.xml')):
xmldoc = minidom.parse(os.path.join(root, file))
itemlist = xmldoc.getElementsByTagName('is')
SeznamICP_all.write(itemlist[0].attributes['icp'].value + '\n')
print("Vytvářím list unikátních IČP...")
with open ('ICP_distinct.txt','w') as distinct:
UnikatniICP = []
with open ('ICP_all.txt','r') as SeznamICP_all:
distinct.writelines(set(SeznamICP_all))
input('Pro ukončení stiskni libovolnou klávesu...')
gegoogelt ich viel, aber ich kann nicht eine einfache Antwort bekommen, wie zu überprüfen, ob ein Tag in XML minidom vorhanden ist.
Könnten Sie mir bitte einen Rat geben?