如何使用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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM