DTD mit Python erstellter XML nutzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
vikingrussel
User
Beiträge: 40
Registriert: Mittwoch 30. Mai 2007, 07:45

Mittwoch 5. September 2007, 07:42

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
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Mittwoch 5. September 2007, 11:29

Gib doch einfach den entsprechenden Header in der generierten XML-Datei mit aus, der auf die DTD verweist.
vikingrussel
User
Beiträge: 40
Registriert: Mittwoch 30. Mai 2007, 07:45

Mittwoch 5. September 2007, 12:40

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
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Mittwoch 5. September 2007, 21:35

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?).
vikingrussel
User
Beiträge: 40
Registriert: Mittwoch 30. Mai 2007, 07:45

Montag 10. September 2007, 07:43

hab es hingekriegt, danke für die antworten
Antworten