Hallo,
ich habe ein Script geschrieben, bei der ein User über ein Eingabefeld einen bestimmten Wert in einer XML Datei editieren kann. Nun möchte ich prüfen, ob die Eingabe des Users auch einen XML konformen Inhalt enthält. Ich glaube, zu Problemen können hauptsächlich Umlaute führen oder? Vielleicht aber auch noch andere Sonderzeichen....
Gibt es eine simple Möglichkeit, quasi den Inhalt der Variable x auf XML-konformen Inhalt zu prüfen?
Gruß
Prüfen ob Eingabe XML konform?
Hm, aber in der Variable x steht ja rein nur die Eingabe, also zum Beispiel "Otto". Also die Eingabe des Users selbst hat noch nicht direkt was mit XML zu tun. Die Fehlermeldung die kommt, erscheint ja erst an der Stelle, wenn ich probiere mit lxml den Inhalt (also "Otto") an die entsprechende Stelle in der XML zu schreiben. Das bedeutet ja, dass die Überprüfung vorher stattfinden muss? Oder peil ichs grad net? 
Also wenn er ein Wort mit einem Umlaut einträgt, darf das Wort ja erst garnicht in die XML geschrieben werden...

Also wenn er ein Wort mit einem Umlaut einträgt, darf das Wort ja erst garnicht in die XML geschrieben werden...
http://www.xmlvalidation.com/xml.0.html?L=2 ist eine Seite, die XML-Dateien und XML-Code validiert. Wenn du mit urrlib rumspielen kannst, dann lädst du eine XML-Datei hoch und guckst dir das Ergebnis an. Wenn die XML-Datei valide ist, ist der Text "
Es wurden keine Fehler festgestellt." zu sehen.
PS: mit Umlauten hatte ich beim genannten Validator keine Probleme.
Es wurden keine Fehler festgestellt." zu sehen.
PS: mit Umlauten hatte ich beim genannten Validator keine Probleme.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
XML ist per default UTF-8, d.h. wenn du mit Umlauten Probleme hast, dann machst du irgendwas falsch 
Ich denke eher, dass du einen Fehler beim Schreiben machst, wenn der Input doch gar kein XML ist. Ansonsten zeig mal Code/Fehlermeldung.
@derdon Ich bezweifel, dass das Sinn macht
Immerhin hat er schon lxml und damit eigene Parser an Bord. Außerdem fänd ich es unschön zwangsweise ans Internet angebunden zu sein, um irgendetwas zu benutzen, dass das eigtl gar nicht braucht.

Ich denke eher, dass du einen Fehler beim Schreiben machst, wenn der Input doch gar kein XML ist. Ansonsten zeig mal Code/Fehlermeldung.
@derdon Ich bezweifel, dass das Sinn macht

@blubber: XML ist Unicode und Unicode kennt Umlaute. Du siehst da wahrscheinlich ein Problem dass es gar nicht gibt. Solange Du intern immer brav mit Unicode arbeitest, passt das schon.