Frage

Ich versuche, Pythons ElementTree zu verwenden, um eine XHTML -Datei zu generieren.

Mit dem ElementTree.element () kann ich jedoch nur ein einzelnes Tag (z. B. HTML) erstellen. Ich muss eine virtuelle Wurzel erstellen oder was auch immer genannt wird, damit ich die verschiedenen, docTypes usw. setzen kann.

Wie mache ich das? Vielen Dank

War es hilfreich?

Lösung

Ich weiß nicht, ob es einen besseren Weg gibt, aber ich habe das gesehen:

Erstellen Sie das Basisdokument als Zeichenfolge:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html></html>

Dann analysieren Sie diese Zeichenfolge, um Ihr neues Dokument zu starten.

Andere Tipps

Ich habe/hatte das gleiche Problem. Wenn ich ein Dokument analysiere und es wieder schreibe, ist die DOCTYPE -Abwehr nicht mehr da. Aber ich fand eine Lösung, die in der Dokumentation stöberte:

Link Text

Speichern von HTML -Dateien #

Um eine einfache HTML -Datei zu speichern, schreiben Sie einfach den Baum auf.

tree.write("outfile.htm")

Dies funktioniert gut, solange die Datei ein eingebettetes Skript oder Stil -Tags nicht vereint.

Wenn Sie möchten, können Sie einen DTD -Verweis zum Beginn der Datei hinzufügen:

file = open("outfile.htm", "w")
file.write(DTD + "\n")
tree.write(file)
file.close()
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top