18
lxmlのetreeを使用しているXMLファイルがありますが、タグを追加するとかなり印刷されません。構文解析されたツリーにタグを追加すると、lxmlでかなりの印刷が失敗する
>>> from lxml import etree
>>> root = etree.parse('file.xml').getroot()
>>> print etree.tostring(root, pretty_print = True)
<root>
<x>
<y>test1</y>
</x>
</root>
これまでのところとても良いです。しかし今すぐ
>>> x = root.find('x')
>>> z = etree.SubElement(x, 'z')
>>> etree.SubElement(z, 'z1').attrib['value'] = 'val1'
>>> print etree.tostring(root, pretty_print = True)
<root>
<x>
<y>test1</y>
<z><z1 value="val1"/></z></x>
</root>
これはもはやかなりです。また、z1タグを作成し、zタグを作成してz1を追加してから、xタグにzタグを追加して、「後方に」しようとしました。しかし、私は同じ結果を得る。
ファイルを解析せずに、すべてのタグを一度に作成すると、正しく印刷されます。だから私はそれがファイルを解析することと関係があると思う。
かなり印刷するにはどうすればよいですか?
これは機能しているようです。 FAQの質問を見たことがありますが、間違って読んでいると思います。私はあなたがそれに空白を含むテキストデータを持っているかどうかは問題ではないと言っていると思っていました。しかし、テキストデータを持つ要素があれば、それは重要ですね。迅速な修正をありがとう。 –