我想知道通过打开文件,搜索“好地方”并添加包含 xml 代码的字符串来添加元素是否更好。
或者使用一些图书馆......我不知道。我知道如何通过例如 lxml 从 xml 获取节点和属性,但最简单和最好的添加方法是什么?
最佳答案
您可以使用 lxml.etree.Element 制作 xml 节点,并使用 append 或 insert 将它们附加到 xml 文档中:
data='''\
<root>
<node1>
<node2 a1="x1"> ... </node2>
<node2 a1="x2"> ... </node2>
<node2 a1="x1"> ... </node2>
</node1>
</root>
'''
doc = lxml.etree.XML(data)
e=doc.find('node1')
child = lxml.etree.Element("node3",attrib={'a1':'x3'})
child.text='...'
e.insert(1,child)
print(lxml.etree.tostring(doc))
产量:
<root>
<node1>
<node2 a1="x1"> ... </node2>
<node3 a1="x3">...</node3><node2 a1="x2"> ... </node2>
<node2 a1="x1"> ... </node2>
</node1>
</root>
关于python - 使用python将xml节点添加到xml文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2977779/