我想使用python的minidom将一个元素添加到XML文件中。让我们假设我有以下xml文件
<node-a>
<node-1/>
<node-2/>
<node-3/>
<node-a/>
在这种情况下,我可以很容易地添加元素“not-4”,如下所示
node4 = designDOM.createElement('node-4')
nodea.appendChild(node4)
由此产生的xml如下:
<node-a>
<node-1/>
<node-2/>
<node-3/>
<node-4/>
<node-a/>
我的问题是:如果我想强迫在一个特定的位置插入一个元素,而不是在最后.我该怎么办?例如,如果我想要一个元素"2-a“,就像在下面的xml中一样,我做什么呢?
<node-a>
<node-1/>
<node-2/>
<node-2a/>
<node-3/>
<node-4/>
<node-a/>
发布于 2014-04-22 13:26:48
您可以使用insertBefore()
import xml.dom.minidom
data = """<node-a>
<node-1/>
<node-2/>
<node-3/>
</node-a>"""
dom = xml.dom.minidom.parseString(data)
node_a = dom.getElementsByTagName('node-a')[0]
node_4 = dom.createElement('node-4')
node_a.appendChild(node_4)
node_3 = dom.getElementsByTagName('node-3')[0]
node2_a = dom.createElement('node-2a')
node_a.insertBefore(node2_a, node_3)
print dom.toprettyxml()
指纹:
<node-a>
<node-1/>
<node-2/>
<node-2a/>
<node-3/>
<node-4/>
</node-a>
https://stackoverflow.com/questions/23220900
复制相似问题