próbowałem użyć odpowiedź na to pytanie, ale nie może to działać: How to create "virtual root" with Python's ElementTree?Jak stworzyć <!DOCTYPE> z cElementTree Pythona
Oto mój kod:
import xml.etree.cElementTree as ElementTree
from StringIO import StringIO
s = '<?xml version=\"1.0\" encoding=\"UTF-8\" ?><!DOCTYPE tmx SYSTEM \"tmx14a.dtd\" ><tmx version=\"1.4a\" />'
tree = ElementTree.parse(StringIO(s)).getroot()
header = ElementTree.SubElement(tree,'header',{'adminlang': 'EN',})
body = ElementTree.SubElement(tree,'body')
ElementTree.ElementTree(tree).write('myfile.tmx','UTF-8')
Kiedy otworzyć otrzymaną Plik "myfile.tmx" zawiera:
<?xml version='1.0' encoding='UTF-8'?>
<tmx version="1.4a"><header adminlang="EN" /><body /></tmx>
Czego mi brakuje? lub czy istnieje lepsze narzędzie?
Czy możesz wyjaśnić, w jaki sposób dodałeś nową linię do xml? – Learner
@Learner: Dodałem go ręcznie, aby uzyskać czytelność. Jeśli chcesz mieć XML z nowymi liniami z ElementTree - wyszukaj jak ładnie wydrukować XML. – demalexx