我正在尝试BS4,因为我试图编写一个脚本来监视Web API。所以我做了这个简单的xml文件
<system>
<load>0.03</load>
<user>7.4</user>
<system>3.2</system>
<wait>0.9</wait>
</system>
我要复制的是“系统”中的第一个标签,即“加载”,然后将其再次附加到系统标签的末尾。所以我用python编写了这个脚本
import bs4
with open("test.xml") as infile2:
tree = bs4.BeautifulSoup(infile2.read(), "lxml")
load_tag = tree.system.load
tree.system.append(load_tag)`
但不是将加载标签复制到末尾,而是实际将其移动了 所以代替这个
<system>
<load>0.03</load>
<user>7.4</user>
<system>3.2</system>
<wait>0.9</wait>
<load>0.03</load>
</system>
我知道了
<system>
<user>7.4</user>
<system>3.2</system>
<wait>0.9</wait>
<load>0.03</load>
</system>
答案 0 :(得分:0)
使用copy.copy
例如:
import bs4
from copy import copy
with open("test.xml") as infile2:
tree = bs4.BeautifulSoup(infile2.read(), "lxml")
load_tag = tree.system.load
tree.system.append(copy(load_tag))
输出:
<system>
<load>0.03</load>
<user>7.4</user>
<system>3.2</system>
<wait>0.9</wait>
<load>0.03</load>
</system>