只是一个简短的问题。对不起,如果这是基本的,我尝试谷歌,但没有得到任何有用的东西。这是我的问题。我有两个LXML etree,PFB XML-1:
<?xml version="1.0" encoding="UTF-8"?>
<parent>
<child c="1">
<e1>abc</e1>
<e2>abc</e2>
<e3>abc</e3>
<e4>
<e41>xyz</e41>
<e41>zyx</e41>
</e4>
</child>
<child c="2">
<e1>abc</e1>
<e2>abc</e2>
<e3>abc</e3>
<e4>
<e41>xyz</e41>
<e41>zyx</e41>
</e4>
</child>
</parent>XML-2:
<?xml version="1.0" encoding="UTF-8"?>
<parent>
<child c="3">
<e1>abc</e1>
<e2>abc</e2>
<e3>abc</e3>
<e4>
<e41>xyz</e41>
<e41>zyx</e41>
</e4>
</child>
</parent>最终结果:
<?xml version="1.0" encoding="UTF-8"?>
<parent>
<child c="3">
<e1>abc</e1>
<e2>abc</e2>
<e3>abc</e3>
<e4>
<e41>xyz</e41>
<e41>zyx</e41>
</e4>
</child>
<child c="1">
<e1>abc</e1>
<e2>abc</e2>
<e3>abc</e3>
<e4>
<e41>xyz</e41>
<e41>zyx</e41>
</e4>
</child>
</parent>现在我想在XML-2后面加上"child c='1'“元素及其来自XML-1的子元素。对了,我遍历了它的子元素并追加了XML-2。有没有办法在不循环的情况下追加XML-2?我的意思是一气呵成。提前谢谢。别问我我试过什么。我当前的代码(循环遍历元素)运行良好。而且我也不确定这是否可能。
发布于 2017-11-24 21:02:48
别管了,伙计们,我刚发现了深度拷贝。
如果您希望将元素复制到lxml.etree中的不同位置,请考虑使用Python标准库中的复制模块创建一个独立的深层副本:
>>> from copy import deepcopy
>>> element = etree.Element("neu")
>>> element.append( deepcopy(root[1]) )https://stackoverflow.com/questions/47470869
复制相似问题