码迷,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
迷上了代码!