最近要用python生成一个xml格式的文件。因为有一些内容是中文,xml文件中使用了CDATA 的部分。 最后用了 from lxml import etree 这个。 供大家参考。 经过测试,这段代码是可以直接运行生成xml格式内容的。
网上参考的主要是 http://lxml.de/api/index.html 这个网页。
# -*- coding:utf-8 -*- import sys import time import string from lxml import etree #设置默认字符集为UTF8 不然有些时候转码会出问题 default_encoding = 'utf-8' if sys.getdefaultencoding() != default_encoding: reload(sys) sys.setdefaultencoding(default_encoding) def create_xml(): data = etree.Element("data") #1 interface_version interface_version_txt = '5' interface_version = etree.SubElement(data, 'interface_version') interface_version.text = interface_version_txt #2 site site_txt = 'www.xxx.com' site = etree.SubElement(data, 'site') site.text = site_txt #3 lastmod lastmod_txt = time.strftime('%Y-%m-%d', time.localtime()) lastmod = etree.SubElement(data, 'lastmod') lastmod.text = lastmod_txt #5 app app = etree.SubElement(data, 'app') #6 title title_txt = u'%s' % '真心话大冒险' title_txt = etree.CDATA(title_txt) title = etree.SubElement(app, 'title') title.text = title_txt #7 appid appid = etree.SubElement(app, 'appid') appid.text = '%s' % '222' dataxml = etree.tostring(data, pretty_print=True, encoding="UTF-8", method="xml", xml_declaration=True, standalone=None) print dataxml if __name__ == '__main__': create_xml()
时间: 2024-10-06 07:38:36