2016-04-12 10 views
2

Ich benutze Lxml und Python, um XML-Dateien zu manipulieren. Ich möchte einen Textknoten mit keinen Tags vorzugsweise erstellen, anstatt einen neuen Element zu erstellen und dann einen Text anfügen. Wie kann ich das machen?Wie erstelle ich einen Textknoten mit lxml?

Ich könnte ein Äquivalent davon in xml.dom.minidom Paket von Python namens createTextNode finden, also fragte ich mich, ob lxml die gleiche Funktionalität unterstützt oder nicht?

Antwort

3

Sieht aus wie lxml bietet keine spezielle API zum Erstellen von Textknoten. Sie können einfach die Eigenschaft text eines übergeordneten Elements festlegen, um einen Textknoten in diesem Element zu erstellen oder zu ändern, zum Beispiel:

>>> from lxml import etree 
>>> raw = '''<root><foo/></root>''' 
>>> root = etree.fromstring(raw) 
>>> root.text = 'bar' 
>>> etree.tostring(root) 
'<root>bar<foo/></root>'