【发布时间】:2010-09-06 02:22:56
【问题描述】:
我是 python/lxml 的新手 在阅读了 lxml 站点并深入研究 python 之后,我找不到解决我的 n00b 问题的方法。我有以下 xml 示例:
---------------
<addressbook>
<person>
<name>Eric Idle</name>
<phone type='fix'>999-999-999</phone>
<phone type='mobile'>555-555-555</phone>
<address>
<street>12, spam road</street>
<city>London</city>
<zip>H4B 1X3</zip>
</address>
</person>
</addressbook>
-------------------------------
我正在尝试将一个子元素附加到根元素并将整个文件写回为新的 xml 或覆盖现有的 xml。目前我只写一行。
from lxml import etree
tree = etree.parse('addressbook.xml')
root = tree.getroot()
oSetroot = etree.Element(root.tag)
NewSub = etree.SubElement ( oSetroot, 'CREATE_NEW_SUB' )
doc = etree.ElementTree (oSetroot)
doc.write ( 'addressbook1.xml' )
TIA
【问题讨论】:
-
请注意,我编辑了您的 Q 以清晰地格式化代码和 XML - 在编写包含代码(或类似 XML)的 Q 时,突出显示这些块并单击看起来像在文本上方的图标行上的 0 和 1 小方块 - 这是实现格式设置的最简单方法(只需将整个块缩进四个空格并确保前后有空行是等效的 - 这就是顺便说一句,单击该图标对您有用;-)。
-
@Alex,谢谢,在这么短的时间内学到了这么多东西+1000 先生