使用python创建一个简单的xml文件如果我想在python中创建一个简单的XML文件,我的选择是什么?(图书馆方面)我想要的XML看起来像:<root>
<doc>
<field1 name="blah">some value1</field1>
<field2 name="asdfasd">some vlaue2</field2>
</doc></root>
3 回答
杨魅力
TA贡献1811条经验 获得超6个赞
ElementTree(ElementTree的基本、纯Python实现)标准库的一部分,自2.5以来) cElementTree(ElementTree的优化C实现)。从2.5开始也在标准库中提供) LXML(基于libxml 2)。提供了丰富的ElementTreeAPI超集,以及XPath、CSS选择器等等)
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")
(来自原作者的网站) ..(用示例代码从所有主要的ElementTree实现中加载最佳可用选项)
LXML显然是序列化(生成)XML的赢家 作为实现正确的父遍历的副作用,LXML在解析方面比cElementTree慢一些。
墨色风雨
TA贡献1853条经验 获得超6个赞
#!/usr/bin/pythonimport lxml.etreeimport lxml.builder E = lxml.builder.ElementMaker()ROOT = E.root DOC = E.doc FIELD1 = E.field1 FIELD2 = E.field2 the_doc = ROOT( DOC( FIELD1('some value1', name='blah'), FIELD2('some value2', name='asdfasd'), ) ) print lxml.etree.tostring(the_doc, pretty_print=True)
<root> <doc> <field1 name="blah">some value1</field1> <field2 name="asdfasd">some value2</field2> </doc></root>
the_doc.append(FIELD2('another value again', name='hithere'))
添加回答
举报
0/150
提交
取消