如何在XML中添加带完整子结构的FeatureEntitlementDetail子元素
你当前的代码仅创建了空的FeatureEntitlementDetail节点,没有为其添加下层的子节点和对应文本值,所以生成的是自闭合标签。需要逐层创建所有层级的子节点并赋值,最后保存修改后的文件即可,完整实现代码如下:
import xml.etree.ElementTree as ET filename = "XYZ.xml" xmlTree = ET.parse(filename) root = xmlTree.getroot() for element in root.iter('EnabledFeatureListForUsers'): # 逐层创建子节点 new_entitlement = ET.SubElement(element, "FeatureEntitlementDetail") # 添加UserName节点并设置值 user_name = ET.SubElement(new_entitlement, "UserName") user_name.text = "new@xyz.com" # 替换为实际需要的用户名 # 添加FeatureList节点 feature_list = ET.SubElement(new_entitlement, "FeatureList") # 添加FeatureDetail节点 feature_detail = ET.SubElement(feature_list, "FeatureDetail") # 添加FeatureId节点并设置值 feature_id = ET.SubElement(feature_detail, "FeatureId") feature_id.text = "Y" # 替换为实际需要的FeatureId值 # 可选:美化XML缩进(Python 3.9及以上版本原生支持) ET.indent(xmlTree, space=" ") # 保存修改后的XML文件 xmlTree.write(filename, encoding="utf-8", xml_declaration=True)
内容的提问来源于stack exchange,提问作者Saurabh Arora
相关产品推荐
相关产品推荐

