我有一个接受名为label的参数的函数。然后,此标签用于使用ElementTree替换元素“assignedNode”的内容。
该函数循环遍历目录中的所有xml文件,并将“label”参数写入元素内容。
我的“标签”参数包含和“&”符号,但当ET将其写入xml文件时,它显示为“& amp”。
有人可以告诉我如何解读这个角色并强迫它写下“&”符号
这是我的代码:
def apply_label(label):
clone_path = os.getcwd()
for root, dirs, files in os.walk(clone_path):
for f in files:
try:
tree = ET.ElementTree(file=f)
root = tree.getroot()
for assignedNode in root.iter("assignedNode"):
assignedNode.text = label
tree = ET.ElementTree(root)
with open(f, "w") as a:
tree.write(a)
except :
pass
答案 0 :(得分:0)
下面是XML中的转义字符列表:
https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
&
是一个转义字符,ElementTree解析器设计为默认转义此字符