如何使用python生成xml

最近要用python生成一个xml格式的文件。因为有一些内容是中文,原来的xml文件中使用了CDATA 的部分。 而之前的python程序所用的库中没有 创建这个区域的方法。无奈研究了大半天。 最后用了 from lxml import etree 这个库的方法。 这里将可运行的 python程序分享出来。 供大家参考。 经过测试,这段代码是可以直接运行生成xml格式内容的。 网上参考的主要是 http://lxml.de/api/index.html 这个网页。

 

 1 # -*- coding:utf-8 -*-
 2 import sys
 3 import time
 4 import string
 5  
 6 from lxml import etree
 7 
 8 
 9 #设置默认字符集为UTF8 不然有些时候转码会出问题
10 default_encoding = utf-8
11 if sys.getdefaultencoding() != default_encoding:
12     reload(sys)
13     sys.setdefaultencoding(default_encoding)
14 
15 def create_xml():
16 
17     data = etree.Element("data")
18     #1 interface_version
19     interface_version_txt = 5
20     interface_version = etree.SubElement(data, interface_version)
21     interface_version.text = interface_version_txt
22     #2 site
23     site_txt = www.xxx.com
24     site = etree.SubElement(data, site)
25     site.text = site_txt
26     #3 lastmod
27     lastmod_txt = time.strftime(%Y-%m-%d, time.localtime())
28     lastmod = etree.SubElement(data, lastmod)
29     lastmod.text = lastmod_txt
30     #5 app
31     app = etree.SubElement(data, app)
32     #6 title 
33     title_txt = u%s % 真心话大冒险
34     title_txt = etree.CDATA(title_txt)
35     title = etree.SubElement(app, title)
36     title.text = title_txt
37     #7 appid
38     appid = etree.SubElement(app, appid)
39     appid.text = %s % 222
40 
41     dataxml = etree.tostring(data, pretty_print=True, encoding="UTF-8", method="xml", xml_declaration=True, standalone=None)
42     print dataxml
43     
44      
47 if __name__ == __main__:
48     create_xml()

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。