如何修改Python读取的XML指定内容并生成新XML文件?
方法一:使用BeautifulSoup实现
你已经通过find_all定位到了Increase节点,接下来只需要修改节点的文本内容即可。注意find_all返回的是节点列表,如果你确定只有一个目标节点,用find()会更直接:
from bs4 import BeautifulSoup with open(r"....TestXML.xml", 'r') as f: data = f.read() bs_data = BeautifulSoup(data, "xml") # 定位单个目标节点 increase_node = bs_data.find('Increase') # 修改节点内的文本内容 increase_node.string = "2.5" # 保存为新的XML文件 with open(r"....NewTestXML.xml", 'w') as f: f.write(str(bs_data))
如果存在多个Increase节点需要批量修改,遍历列表逐个处理即可:
for node in bs_data.find_all('Increase'): node.string = "2.5"
方法二:使用ElementTree实现
如果你倾向于用Python标准库的ElementTree,逻辑同样清晰,定位节点后修改text属性即可:
import xml.etree.ElementTree as ET # 解析XML文件 tree = ET.parse(r"....TestXML.xml") root = tree.getroot() # 定位所有Increase节点(支持XPath语法) for increase_node in root.findall('.//Increase'): # 修改节点文本 increase_node.text = "2.5" # 保存修改后的XML tree.write(r"....NewTestXML.xml")
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

