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