我试图将几个(现有的)XML元素<;b>;放入一个并行元素<;a>;,因此
<root>
<a/>
<b id="one"/>
<b id="two"/>
</root>
变成
<root>
<a>
<b id="one"/>
<b id="two"/>
</a>
</root>
我试过这个:
findingA = root.find('a')
for b in root.findall('root/b'):
findingA.append(b)
root.remove(b)
但这些该死的<;b>;不会移动,芬德尔和iter也不会。你知道吗
您正在
<root>
元素下面搜索,但使用的路径“root/b”不匹配。for循环得到一个空列表,什么也不做。你知道吗编辑:此解决方案仅适用于
lxml
中的ElementTree实现,移动行为不适用于其他情况,请参阅该情况下的其他答案。你知道吗在lxml中,您不必删除元素
b
,追加并不复制元素。你知道吗root.findall()
从“根”开始,请尝试以下操作:相关问题 更多 >
编程相关推荐