Seite 1 von 1

DTD mit Python erstellter XML nutzen

Verfasst: Mittwoch 5. September 2007, 07:42
von vikingrussel
Guten Morgen,

gibt es eine Möglichkeit eine DTD mit einer von Python erstellten XML zu nutzen? Es würde bereits genügen wenn der Verweis auf diese DTD gleich mit Erstellung der XML in diese geschrieben wird.
Habe bisher nichts so richtiges gefunden.

MfG VikingRussel

Verfasst: Mittwoch 5. September 2007, 11:29
von Y0Gi
Gib doch einfach den entsprechenden Header in der generierten XML-Datei mit aus, der auf die DTD verweist.

Verfasst: Mittwoch 5. September 2007, 12:40
von vikingrussel
genau das will ich ja auch machen.
und wie?
ich hab zwar einen ansatz gefunden

Code: Alles auswählen

from xml.etree.elementtree import ElementTree

parser = ElementTree.XMLTreeBuilder()

parser.feed("<document>")
parser.feed("body")
parser.feed("</docu")
parser.feed("ment>")
aber 'XMLTreeBuilder()' existiert bei mir einfach nicht. Vorschläge?
eine Variante mit 'lxml' wär mir am liebsten

Verfasst: Mittwoch 5. September 2007, 21:35
von Y0Gi
Mit ET kannst du einfach ein neues `Element` anlegen und das als Root verwenden, indem du einfach `SubElement`e dranhängst. Über das Root-Element wandelst du abschließend das Dokument in einen String um (mit der Funktion `tostring`) und kannst dann über normale String-Konkatenation den gewünschten Header davor setzen. Ein ET-eigener Weg dafür ist mir nicht bekannt, aber wohl auch gar nicht erforderlich (und existiert ja vielleicht deshalb auch nicht?).

Verfasst: Montag 10. September 2007, 07:43
von vikingrussel
hab es hingekriegt, danke für die antworten