from lxml import etree # XML-Datei laden with open("C:/temp-GIS/2026-04-08_export_new2.xml", "rb") as xml_file: xml_doc = etree.parse(xml_file) # XSD-Datei laden with open('C:/temp-GIS/_isy/2017/1_XML-Schema/1707-metadaten.xsd', "rb") as xsd_file: xsd_doc = etree.parse(xsd_file) # Schema erstellen xmlschema = etree.XMLSchema(xsd_doc) # Validieren if xmlschema.validate(xml_doc): print("XML ist gültig ✅") else: print("XML ist NICHT gültig ❌") with open("C:/temp-GIS/fehler.log", "w", encoding="utf-8") as log_file: count = 0 for error in xmlschema.error_log: log_file.write(f"Zeile: {error.line}, Spalte: {error.column}; ") log_file.write(f"Fehler: {error.message}\n") count = count + 1 print("Anzahl Fehler: ", count)