Seite 1 von 1

Prüfen ob Eingabe XML konform?

Verfasst: Freitag 12. Dezember 2008, 13:53
von blubber
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ß

Verfasst: Freitag 12. Dezember 2008, 13:55
von BlackJack
Als XML parsen und schauen ob das klappt ist zu einfach, oder? :-)

Verfasst: Freitag 12. Dezember 2008, 14:04
von blubber
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...

Verfasst: Freitag 12. Dezember 2008, 14:11
von derdon
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.

Verfasst: Freitag 12. Dezember 2008, 14:47
von cofi
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.

Verfasst: Freitag 12. Dezember 2008, 14:51
von BlackJack
@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.