python 生成 XML

 1 encoding:utf-8
 2 '''
 3 根据一个给定的XML Schema,使用DOM树的形式从空白文件生成一个XML。
 4 '''
 5 from xml.dom.minidom import Document
 6 
 7 doc = Document()  #创建DOM文档对象
 8 
 9 bookstore = doc.createElement('bookstore') #创建根元素
10 bookstore.setAttribute('xmlns:xsi',"http://www.w3.org/2001/XMLSchema-instance")#设置命名空间
11 bookstore.setAttribute('xsi:noNamespaceSchemaLocation','bookstore.xsd')#引用本地XML Schema
12 doc.appendChild(bookstore)
13 ############book:Python处理XML之Minidom################
14 book = doc.createElement('book')
15 book.setAttribute('genre','XML')
16 bookstore.appendChild(book)
17 
18 title = doc.createElement('title')
19 title_text = doc.createTextNode('Python处理XML之Minidom') #元素内容写入
20 title.appendChild(title_text)
21 book.appendChild(title)
22 
23 author = doc.createElement('author')
24 book.appendChild(author)
25 author_first_name = doc.createElement('first-name')
26 author_last_name  = doc.createElement('last-name')
27 author_first_name_text = doc.createTextNode('')
28 author_last_name_text  = doc.createTextNode('')
29 author.appendChild(author_first_name)
30 author.appendChild(author_last_name)
31 author_first_name.appendChild(author_first_name_text)
32 author_last_name.appendChild(author_last_name_text)
33 book.appendChild(author)
34 
35 price = doc.createElement('price')
36 price_text = doc.createTextNode('28')
37 price.appendChild(price_text)
38 book.appendChild(price)
39 ############book1:Python写网站之Django####################
40 book1 = doc.createElement('book')
41 book1.setAttribute('genre','Web')
42 bookstore.appendChild(book1)
43 
44 title1 = doc.createElement('title')
45 title_text1 = doc.createTextNode('Python写网站之Django')
46 title1.appendChild(title_text1)
47 book1.appendChild(title1)
48 
49 author1 = doc.createElement('author')
50 book.appendChild(author1)
51 author_first_name1 = doc.createElement('first-name')
52 author_last_name1  = doc.createElement('last-name')
53 author_first_name_text1 = doc.createTextNode('')
54 author_last_name_text1  = doc.createTextNode('')
55 author1.appendChild(author_first_name1)
56 author1.appendChild(author_last_name1)
57 author_first_name1.appendChild(author_first_name_text1)
58 author_last_name1.appendChild(author_last_name_text1)
59 book1.appendChild(author1)
60 
61 price1 = doc.createElement('price')
62 price_text1 = doc.createTextNode('40')
63 price1.appendChild(price_text1)
64 book1.appendChild(price1)
65 
66 ########### 将DOM对象doc写入文件
67 f = open('bookstore.xml','w')
68 f.write(doc.toprettyxml(indent = ''))
69 f.close()

 

posted on 2017-03-29 21:21  felixr  阅读(347)  评论(0编辑  收藏  举报

导航