La création d'un doctype avec lxml du programme etree
Je veux ajouter des doctypes à mes documents XML que je suis en générant avec LXML du programme etree.
Cependant je ne peux pas comprendre comment ajouter un doctype. Coder en dur et concating la chaîne n'est pas une option.
Je m'attendais à quelque chose le long des lignes du fonctionnement de PI sont ajoutés au programme etree:
pi = etree.PI(...)
doc.addprevious(pi)
Mais il ne fonctionne pas pour moi. Comment ajouter un à un document xml avec lxml?
OriginalL'auteur Marijn | 2009-06-14
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer votre document avec un doctype pour commencer:
imprime:
Si vous souhaitez ajouter un doctype XML qui n'a pas été créée avec l'un, vous pouvez d'abord créer un le doctype (comme ci-dessus), puis la copie de votre doctype-moins XML:
imprime:
Est-ce que vous cherchez?
OriginalL'auteur
Cela a fonctionné pour moi:
print etree.tostring(tree, pretty_print=True, xml_declaration=True, encoding="UTF-8", doctype="<!DOCTYPE TEST_FILE>")
OriginalL'auteur hgb
La PI est effectivement ajouté en tant qu'élément de la "doc". Ainsi, il n'est pas un enfant de la "doc". Vous devez utiliser "doc.getroottree()"
Voici un exemple:
avec getroottree():
OriginalL'auteur Bertrand Mathieu