Ich versuche, folgende XML-Datei mit lxml.etree.parse() zu analysieren. Dieses XML enthält ein Zeichen aus einer speziellen Schriftart in Zeile 3. Dieses Zeichen ist Dingbats
Schriftart - Wert 0x 7
- ein Telefon Piktogramm. In Notepad ++ wird es als BEL
angezeigt - weiße Buchstaben in einem schwarzen Rechteck. Ich war nicht in der Lage, diesen Charakter in die Frage einzubeziehen.Lxml stürzt beim Parsen von Zeichen aus der speziellen Schriftart ab
<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<layer pass="0" class="FontMarker" locked="0">
<prop k="chr" v="!!!SPECIAL_CARACTER_HERE!!!"/>
</layer>
</qgis>
Dieser Charakter macht lxml (xml stürzt auch) Absturz mit dem folgenden Fehler:
File "lxml.etree.pyx", line 3193, in lxml.etree.parse (src/lxml/lxml.etree.c:64168)
File "parser.pxi", line 1548, in lxml.etree._parseDocument (src/lxml/lxml.etree.c:91390)
File "parser.pxi", line 1577, in lxml.etree._parseDocumentFromURL (src/lxml/lxml.etree.c:91674)
File "parser.pxi", line 1477, in lxml.etree._parseDocFromFile (src/lxml/lxml.etree.c:90741)
File "parser.pxi", line 1024, in lxml.etree._BaseParser._parseDocFromFile (src/lxml/lxml.etree.c:87655)
File "parser.pxi", line 565, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:83243)
File "parser.pxi", line 656, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:84225)
File "parser.pxi", line 596, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:83549)
lxml.etree.XMLSyntaxError: invalid character in attribute value, line 3, column 14
Wie kann ich ein Dokument wie folgt analysieren?
UPDATE: A link to the file itself.
Haben Sie diesen Charakter brauchen oder ist es in Ordnung, es zu abzustreifen? – pacholik
@pacholik Ich brauche es, aber es ist besser, den größten Teil der Datei als gar nichts zu parsen, so dass die Umgehung mit Ausschluss solcher Zeichen etwas befriedigend sein wird. –
Es zeigt als BEL wie 7 das Steuerzeichen BEL darstellt https://en.wikipedia.org/wiki/Bell_character, haben Sie einen Link zu der Schriftart und/oder XML-Datei? –