码迷,mamicode.com
首页 > 编程语言 > 详细

python使用 minidom创建xml实例

时间:2015-04-25 22:45:03      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

python创建xml实例

 

模仿下面的xml文件,使用python脚本进行创建。

<?xml version=‘1.0‘?>
<database>
    <user username="user" fromAddress="John.User@somewhere.com"
          fullName="John Q. User" password="pass">
        <subscription host="mail.hotmail.com" autoConnect="false"
                      password="bar" type="pop3" username="user1234">
        </subscription>
        <subscription host="mail.yahoo.com" autoConnect="false" password="foo"
                      type="imap" username="jquser">
        </subscription>
    </user>
</database>

使用代码如下:

#coding=utf-8

from xml.dom import minidom

doc = minidom.Document()

#创建database根节点
db = doc.createElement("database")
#将根节点添加入dom对象
doc.appendChild(db)

#创建database的子节点user
user = doc.createElement("user")
user.setAttribute(fromAddress,John.User@somewhere.com)
user.setAttribute(fullName,John Q. User)
user.setAttribute(password,pass)
db.appendChild(user)

#创建user的子节点subscription
subs = doc.createElement(subscription)
subs.setAttribute(host,mail.hotmail.com)
subs.setAttribute(autoConnect,false)
subs.setAttribute(password,bar)
subs.setAttribute(type,pop3)
subs.setAttribute(username,user1234)
user.appendChild(subs)

#创建user的子节点subscription
subs2 = doc.createElement(subscription)
subs2.setAttribute(host,mail.yahoo.com)
subs2.setAttribute(autoConnect,false)
subs2.setAttribute(password,foo)
subs2.setAttribute(type,pop3)
subs2.setAttribute(username,jquser)
user.appendChild(subs2)

#生成文件
f = file("book.xml","w")
‘‘‘
doc.writexml(f, "/t", "/t", "/n", "utf-8") #第一个参数f就是你的目标文件对象,第二个参数好像是<?xml>和下面一个根节点的缩进排列格式, 
第三个参数好像是其他节点与子节点的缩进排列格式,第四个参数制定了换行的格式(如果你填入" ",那就不换行了,所有的xml都缩在了一行上面 :) ) 
,第五个参数制定了xml内容的编码。除了第一个参数是必须的,其他参数都是可选择的。
援引使用PYTHON创建XML文档,未作考证
‘‘‘
doc.writexml(f,‘‘,\t,\n,utf-8)
f.close()

文件最终输出如下:

<?xml version="1.0" encoding="utf-8"?>
<database>
    <user fromAddress="John.User@somewhere.com" fullName="John Q. User" password="pass">
        <subscription autoConnect="false" host="mail.hotmail.com" password="bar" type="pop3" username="user1234"/>
        <subscription autoConnect="false" host="mail.yahoo.com" password="foo" type="pop3" username="jquser"/>
    </user>
</database>

 本文参考:使用python自带的xml.com创建和解析xml

python使用 minidom创建xml实例

标签:

原文地址:http://www.cnblogs.com/mazi12/p/4448749.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!