如果我想在 python 中创建一个简单的 XML 文件,我有什么选择?(图书馆方面)
我想要的 xml 看起来像:
<root> <doc> <field1 name="blah">some value1</field1> <field2 name="asdfasd">some vlaue2</field2> </doc> </root>
如今,最流行(也非常简单)的选项是ElementTree API,它自 Python 2.5 起就包含在标准库中。
可用的选项是:
以下是如何使用 in-stdlib cElementTree 生成示例文档的示例:
import xml.etree.cElementTree as ET root = ET.Element("root") doc = ET.SubElement(root, "doc") ET.SubElement(doc, "field1", name="blah").text = "some value1" ET.SubElement(doc, "field2", name="asdfasd").text = "some vlaue2" tree = ET.ElementTree(root) tree.write("filename.xml")
我已经对其进行了测试并且可以正常工作,但是我假设空格并不重要。如果您需要“prettyprint”缩进,请告诉我,我会查找如何做到这一点。(它可能是一个特定于 LXML 的选项。我不太使用 stdlib 实现)
为了进一步阅读,这里有一些有用的链接:
最后一点,cElementTree 或 LXML 应该足够快以满足您的所有需求(两者都是优化的 C 代码),但如果您处于需要挤出最后一点性能的情况,基准测试LXML 站点表明: