Dies scheint a zu sein Fehler in libxml, nicht in lxml selbst durchspannt, und ist seit 2006 dort. Es scheint, dass es aufgrund rückwärtser Kompatibilitätsprobleme nicht leicht behoben werden kann.
Ist es möglich, Zeilennummern mehr als 65535 anzuzeigen, wenn Sie eine XML -Datei mit LXML validieren?
-
05-07-2022 - |
Frage
Ich versuche, eine XML -Datei mit rund 1 Million Zeilen mit LXML zu validieren. Das ist mein Code.
import codecs
import lxml.etree as ET
xsd_file = codecs.open(r'test.xsd', 'rb', 'utf-8')
xml_file = codecs.open(r'test.xml', 'rb', 'utf-8')
xmlschema_doc = ET.parse(xsd_file)
xmlschema = ET.XMLSchema(xmlschema_doc)
doc = ET.parse(xml_file)
print (xmlschema.error_log.filter_from_errors())
Aber ich fand die Ausgabe immer "65535: 0", wenn die fehlerhafte Linie 65535 überschreitet.
file:///C:test.xml:65535:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'word': Missing child element(s).
file:///C:test.xml:65535:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'word': Missing child element(s).
file:///C:test.xml:65535:0:ERROR:SCHEMASV:SCHEMAV_ELEMENT_CONTENT: Element 'word': Missing child element(s).
Ich kann also nicht identifizieren, wo sich die obigen Zeilen befinden. Gibt es Lösungen?
Lösung
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow