我正在寻求解决这个问题。 当我尝试写入xml文件时,它会写两次相同的东西。
这是代码:
def writeIntoXml(fileName, tagElement, textElement):
tree = ET.ElementTree(file = fileName)
root = tree.getroot()
newElement = ET.SubElement(root, tagElement)
newElement.text =textElement;
newElement.tail ="\n"
root.append(newElement)
tree.write(fileName, encoding='utf-8')
如果我有这个xml文件,带有这个标签,如果我写了一个新标签(es“Question-3”Example3“/ Question-3”)我就会遇到问题
在写之前XmlFile:
<Questions>
<Question-1>Example1</Question-1>
<Question-2>Example2</Question-2>
</Questions>
编写后的XmlFile:
<Questions>
<Question-1>Example1</Question-1>
<Question-2>Example2</Question-2>
<Question-3>Example3</Question-3>
<Question-3>Example3</Question-3>
</Questions>
对不起语法错误
答案 0 :(得分:1)
请注意,ET.SubElement()会自动附加元素。您要添加两次元素,首先在SubElement()
中,然后在append()
中添加。
您应该只使用
newElement = ET.SubElement(root, tagElement)
newElement.text = textElement;
newElement.tail = "\n"
或
newElement = ET.Element(tagElement)
newElement.text = textElement;
newElement.tail = "\n"
root.append(newElement)