python使用 minidom创建xml实例

python创建xml实例

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

<?xml version=‘1.0‘?>
<database>
    <user username="user" fromAddress="[email protected]"
          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‘,‘[email protected]‘)
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="[email protected]" 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

时间: 2024-12-17 01:44:48

python使用 minidom创建xml实例的相关文章

Python中动态创建类实例

Python中动态创建类实例 简介 在Java中我们可以通过反射来根据类名创建类实例,那么在Python我们怎么实现类似功能呢? 其实在Python有一个builtin函数import,我们可以使用这个函数来在运行时动态加载一些模块.如下: def createInstance(module_name, class_name, *args, **kwargs): module_meta = __import__(module_name, globals(), locals(), [class_n

python对象的创建和实例的生成次数

pyhton用__new__来创建对象(__new__相当于Java中的构建函数), 对象创建好之后会立即调用__init__方法来初始化对象,__init__方法有个参数self就是刚才__new__创建好的那个对象.通过我们有__init__方法中给对象的属性进行赋值,或者动态线对象添加属性并赋值 class test(object): count = 0 def __new__(cls, *args, **kwargs): test.count += 1 if test.count >2:

使用PYTHON创建XML文档_python

当用GOOGLE查的时候,内容几乎都是一样的.但是你想要的东西,一个也没有.例如,我就找不到中国人写的如何使用PYTHON来创建一个XML文件.当然,直接用文件写的方式也能够达到同样的效果,但是毕竟容易出错,而且看起来不优雅.最后,我看了很多资料,终于明白如何使用PYTHON写一个XML文件了.以下就是一个简单的例子,这个例子是已经调试通过的,大家可以放心使用. import xml.dom.minidom from xml.dom.DOMImplementation import implem

使用反射和泛型,动态读取XML创建类实例并赋值

[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能.网上的例子倒也不少,但总是觉得缺点什么.比如读取xml文件之后该如何处理?看到的文章基本上都是手动创建一个目标类的实例,然后手动从读取的XML文件的内容中给刚才创建的目标类实例相关字段赋值.缺点什么呢?对嘞,感觉上

自己动手之使用反射和泛型,动态读取XML创建类实例并赋值

前言: 最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容.那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能.网上的例子倒也不少,但总是觉得缺点什么.比如读取xml文件之后该如何处理?看到的文章基本上都是手动创建一个目标类的实例,然后手动从读取的XML文件的内容中给刚才创建的目标类实例相关字段赋值.缺点什么呢?对嘞,感觉上不够简单和智能. 正所谓驱动科技发展的原因就是懒,为了使我们的小工具能够傻瓜到只需要

Python:minidom模块(DOM写入和解析XML)

一.DOM写XML文件 #导入minidom from xml.dom import minidom # 1.创建DOM树对象 dom=minidom.Document() # 2.创建根节点.每次都要用DOM对象来创建任何节点. root_node=dom.createElement('root') # 3.用DOM对象添加根节点 dom.appendChild(root_node) # 用DOM对象创建元素子节点 book_node=dom.createElement('book') # 用

python创建xml

参考了http://www.cnblogs.com/wangshide/archive/2011/10/29/2228936.html中的实现了一遍 # -*- coding: utf-8 -*-"""Created on Fri Apr 01 15:37:46 2016 @author: raoqiang"""#coding=utf-8import xml.dom.minidom as minidom from xml.dom.minidom

Python使用ElementTree解析XML【译】

19.7. xml.etree.ElementTree — The ElementTree XML API 源代码: Lib/xml/etree/ElementTree.py Element类型是一种灵活的容器对象,用于在内存中存储层次数据结构.可以说是list和dictionary的交叉. 注意: xml.etree.ElementTree 模块对含有恶意代码的数据是不安全的.如果你想处理不信任的数据请使用 XML vulnerabilities. 每个element都有一系列相关属性: 标签

eclipse创建servlet实例

今天花了一段时间利用eclipse创建servlet实例,但是一直没法通过浏览器访问,奔溃,后来发现一个问题,用dynamic web 工程部署到tomcat之后,并没有对应在工程中创建的类,也就是说没有classes文件夹,然后通过在WebContent目录下的WEB-INF下建立classes文件夹,并创建对应的包和java类,这些类会同步到src文件夹下,除此之外,配置了web.xml文件,最终run on server,就可以通过浏览器访问servlet了,具体程序如下. 代码 提取码: