Erstellen einer doctype-mit lxml ist etree
Möchte ich hinzufügen, doctypes, um meine XML-Dokumente, die ich generieren mit LXML ist etree.
Allerdings kann ich nicht herausfinden, wie Sie ein doctype. Hardcoding und concating der string ist nicht eine option.
Ich erwartete etwas entlang der Linien von, wie PI ' s sind Hinzugefügt in etree:
pi = etree.PI(...)
doc.addprevious(pi)
Aber es ist nicht für mich arbeiten. So fügen Sie eine zu einem xml-Dokument mit lxml?
InformationsquelleAutor der Frage Marijn | 2009-06-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Ihr Dokument mit einer doctype-Deklaration beginnen mit:
Drucke:
Wenn Sie möchten, fügen Sie eine doctype-Deklaration XML erstellt wurde, können Sie zuerst eines erstellen mit den gewünschten doctype (wie oben), dann kopiere deine doctype-weniger XML-Code:
Drucke:
Ist, dass das, was du suchst?
InformationsquelleAutor der Antwort
Dieser arbeitete für mich:
print etree.tostring(tree, pretty_print=True, xml_declaration=True, encoding="UTF-8", doctype="<!DOCTYPE TEST_FILE>")
InformationsquelleAutor der Antwort hgb
Des PI ist eigentlich Hinzugefügt, die einer vorherigen element von "doc". Also, es ist nicht ein Kind der "doc". Müssen Sie das "doc.getroottree()"
Hier ist ein Beispiel:
mit getroottree():
InformationsquelleAutor der Antwort Bertrand Mathieu