如何使XML文件生成正确的输出/数据?

2024-04-23 20:24:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用以下代码将正确的结果打印到控制台,但当我查看文件内容时,它是不正确的:

def xmls (id):
    myfile = open("items2.xml", "wb")
    xml_node = etree.Element("node")
    item = etree.SubElement(xml_node, 'Item')
    etree.SubElement(item, 'ID').text = id

    # create a new XML file with the results
    mydata = ET.tostring(xml_node)
    print(mydata)

    myfile.write(mydata)
    myfile.close()

控制台输出:

b"<node><Item><ID>1</ID></Item></node>"
b"<node><Item><ID>2</ID></Item></node>"

但文件只有一个ID:

<node><Item><ID>2</ID></Item></node>

我该怎么做才能解决这个问题


Tags: 文件代码idnode内容defxmlitem
1条回答
网友
1楼 · 发布于 2024-04-23 20:24:50

^{}您的文件用于附加"a"),而不是写入"w"):

myfile = open("items2.xml", "ab")

使用"w"文件中已有的任何内容都会被覆盖:

open for writing, truncating the file first

使用"a"可以得到:

open for writing, appending to the end of the file if it exists

相关问题 更多 >