慕桂英3389331
2019-07-10 10:26:35
使用python創(chuàng)建一個簡單的xml文件如果我想在python中創(chuàng)建一個簡單的XML文件,我的選擇是什么?(圖書館方面)我想要的XML看起來像:<root>
<doc>
<field1 name="blah">some value1</field1>
<field2 name="asdfasd">some vlaue2</field2>
</doc></root>
3 回答

楊魅力
TA貢獻1811條經(jīng)驗 獲得超6個贊
ElementTree(ElementTree的基本、純Python實現(xiàn))標準庫的一部分,自2.5以來) cElementTree(ElementTree的優(yōu)化C實現(xiàn))。從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")
(來自原作者的網(wǎng)站) ..(用示例代碼從所有主要的ElementTree實現(xiàn)中加載最佳可用選項)
LXML顯然是序列化(生成)XML的贏家 作為實現(xiàn)正確的父遍歷的副作用,LXML在解析方面比cElementTree慢一些。

墨色風雨
TA貢獻1853條經(jīng)驗 獲得超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
提交
取消