如何在Python中解析字符串并写入新XML文件?

15 投票
2 回答
37434 浏览
提问于 2025-04-16 20:04

我有一段以字符串格式存储的XML数据,这段数据在一个叫做xml_data的变量里。

xml_data="<?xml version="1.0"?>
<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>"

我想通过Python把这段数据保存到一个新的XML文件里。

我正在使用以下代码:

from xml.etree import ElementTree as ET
tree = ET.XML(xml_data)

现在我想创建一个XML文件,并把这个XML树保存到文件里,但我不知道该用哪个函数来实现。

谢谢

2 个回答

6

在Python 3.x中,提议的解决方案只有在你使用 with open("filename", "wb") as f: 这样的方式打开文件时才有效,而不是用 with open("filename", "w") as f:

17

使用 ET.tostring(tree) 这个方法,你可以得到一个没有格式的 XML 字符串。如果你想把它保存到一个文件里:

with open("filename", "w") as f:
    f.write(ET.tostring(tree))

撰写回答