Xml写了两次相同的东西

时间:2016-08-20 17:27:36

标签: python xml python-3.x xml-parsing

我正在寻求解决这个问题。 当我尝试写入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>

对不起语法错误

1 个答案:

答案 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)