python生成xml格式文件实例

时间:2022-07-13 05:44:04

本文是一个python实现的生成xml格式文件的操作实例,是非常常见的实用技巧,感兴趣的朋友可以参考下

要生成的xml文件格式如下:

<?xml version="1.0" ?> 
<!--Simple xml document__chapter 8-->
<book>
<title>
sample xml thing
</title>
<author>
<name>
<first>
ma
</first>
<last>
xiaoju
</last>
</name>
<affiliation>
Springs Widgets, Inc.
</affiliation>
</author>
<chapter number="1">
<title>
First
</title>
<para>
I think widgets are greate.You should buy lots of them forom
<company>
Spirngy Widgts, Inc
</company>
</para>
</chapter>
</book>

Python实现代码如下:

from xml.dom import minidom, Node 

doc = minidom.Document()

doc.appendChild(doc.createComment("Simple xml document__chapter 8"))

#generate the book
book = doc.createElement('book')
doc.appendChild(book)

#the title
title = doc.createElement('title')
title.appendChild(doc.createTextNode("sample xml thing"))
book.appendChild(title)

#the author section
author = doc.createElement("author")
book.appendChild(author)
name = doc.createElement('name')
author.appendChild(name)
firstname = doc.createElement('first')
firstname.appendChild(doc.createTextNode("ma"))
name.appendChild(firstname)
lastname = doc.createElement('last')
name.appendChild(lastname)
lastname.appendChild(doc.createTextNode("xiaoju"))

affiliation = doc.createElement("affiliation")
affiliation.appendChild(doc.createTextNode("Springs Widgets, Inc."))
author.appendChild(affiliation)

#The chapter
chapter = doc.createElement('chapter')
chapter.setAttribute('number', '1')
title = doc.createElement('title')
title.appendChild(doc.createTextNode("First"))
chapter.appendChild(title)
book.appendChild(chapter)

para = doc.createElement('para')
para.appendChild(doc.createTextNode("I think widgets are greate.
You should buy lots of them forom"))
company = doc.createElement('company')
company.appendChild(doc.createTextNode("Spirngy Widgts, Inc"))
para.appendChild(company)
chapter.appendChild(para)

print doc.toprettyxml()



原文地址:http://www.adminso.com/articles/view/92136
(站长搜索- http://www.adminso.com/articles -资讯,中国最具专业的站长资讯新闻频道,报道国内外动态权威的站长资讯动向,关注新闻,透视事件热点资讯。)