wie übergebe ich eine XML-Datei an lxml?

9

Ich versuche, eine XML-Datei mit lxml zu analysieren. Mit xml.etree konnte ich einfach den Dateinamen als Parameter an die parse -Funktion übergeben, also versuchte ich das Gleiche mit lxml.

Mein Code:

%Vor%

aber ich bekomme den Fehler:

%Vor%

Was mache ich falsch?

    
BeeBand 06.06.2010, 13:19
quelle

4 Antworten

1

Was Sie falsch machen, ist (1) nicht zu überprüfen, ob Sie das gleiche Ergebnis erhalten haben, indem Sie xml.etree für dieselbe Datei verwenden (2) und die Fehlermeldung nicht lesen, was auf einen Syntaxfehler in Zeile 2 der Datei hinweist. weit unten von jedem Problem mit der Dateiöffnung

    
John Machin 06.06.2010, 23:26
quelle
1

Ich bin heute Morgen über eine ähnliche Fehlermeldung gestolpert, und für mich war die Antwort eine fehlerhafte DTD. In meiner DTD gab es eine Attributdefinition mit einem Standardwert, der nicht in Anführungszeichen eingeschlossen war - sobald ich das änderte, trat der Fehler nicht mehr auf.

    
Thor 03.01.2012 14:02
quelle
0

Sie haben einen Syntaxfehler in Ihrem XML-Markup . Du machst nichts falsch.

    
aviraldg 06.06.2010 13:24
quelle
0
Mit

lxml können Sie ein fehlerhaftes xml laden, indem Sie eine Parserinstanz mit recover = True %Vor%

Obwohl dies nicht ideal ist, benutze ich das, um ein xml für die Schema / dtd / schematron Validierung zu laden.

    
Jerome Anthony 07.11.2014 03:13
quelle

Tags und Links