擅长:python、mysql、java
<p>下面使用的是<code>lxml</code>包,这是一个优于<code>ElementTree</code>的XML包。
您可以使用父元素的<code>index(element)</code>方法找到要替换的节点的索引</p>
<p>一旦您得到了,您就可以使用父节点的<code>insert(index, element)</code>,并将新节点插入到旧节点的位置</p>
<p>接下来是通过<code>remove(element)</code>方法删除旧节点</p>
<p>示例“p”是父元素,<code>a</code>是要替换的<code>p</code>的子节点,<code>b</code>是新的子节点:</p>
<pre><code>p.insert(p.index(a), b) # insert b before a
p.remove(a)
</code></pre>
<p>使用<code>ElementTree</code>,您需要首先找到旧元素的索引:</p>
<pre><code>p = et.Element('parent') # parent node
a = et.Element('child1') # this is the child node to be replaced
b = et.Element('child2') # this is the new child node
p.append(a)
index = list(p).index(a)
p[index] = b
</code></pre>