用python生成xml的方法是什么

  介绍

这篇文章主要介绍用python生成xml的方法是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

xml.dom。minidom模块实现创建一个XML文档。

<>强创建XML的过程

1,内存数据产生

2,产生XML内存对象(也就是DOM树)

3,产生根对象

4,往根对象里加数据

5,把XML内存对象写到文件

下面是一个创建XML文档的简单实例:

import  xml.dom.minidom   #在内存中创建一个空的文档   时间=doc  xml.dom.minidom.Document ()   #创建一个根节点经理对象   时间=root  doc.createElement(& # 39;经理# 39;)   #设置根节点的属性   root.setAttribute(& # 39;公司# 39;,,& # 39;xx科技& # 39;)   root.setAttribute(& # 39;地址# 39;,,& # 39;科技软件园& # 39;)   #将根节点添加到文档对象中   doc.appendChild(根)   managerList =,[{& # 39;名字# 39;,:,& # 39;快乐# 39;,,& # 39;年龄# 39;,:,27日,& # 39;性与# 39;,:,& # 39;女& # 39;},   {& # 39;名字# 39;,:,& # 39;汤姆# 39;,,& # 39;年龄# 39;,:,30日,& # 39;性与# 39;,:,& # 39;男& # 39;},   {& # 39;名字# 39;,:,& # 39;ruby # 39;,, & # 39;年龄# 39;,:,29日,& # 39;性与# 39;,:,& # 39;女& # 39;}   ]   for 小姐:managerList 拷贝:   时间=nodeManager  doc.createElement(& # 39;经理# 39;)   时间=nodeName  doc.createElement(& # 39;名字# 39;)   #给叶子节点名字设置一个文本节点,用于显示文本内容   nodeName.appendChild (doc.createTextNode (str(我[& # 39;名字# 39;))))   时间=nodeAge  doc.createElement (“age")   nodeAge.appendChild (doc.createTextNode (str(我[“age"])))   时间=nodeSex  doc.createElement (“sex")   nodeSex.appendChild (doc.createTextNode (str(我[“sex"])))   #将各叶子节点添加到父节点管理器中,   #最后将经理添加到根节点经理中   nodeManager.appendChild(节点名)   nodeManager.appendChild (nodeAge)   nodeManager.appendChild (nodeSex)   root.appendChild (nodeManager)   #开始写xml文档   时间=fp 开放(& # 39;c: \ \ wcx \ \ Manager.xml& # 39;,, & # 39; w # 39;)   doc.writexml (fp,缩进=& # 39;\ t # 39;,, addindent=& # 39; \ t # 39;,, newl=& # 39; \ n # 39;,,编码=皍tf-8")

执行结果:

& lt; ? xml  version=?.0“,编码=皍tf-8" ?比;   & lt; Managers 地址=翱萍既砑啊?公司=皒x科技“比;   & lt; Manager>   & lt; name> joy   & lt; age> 27 & lt;/age>   & lt; sex>女& lt;/sex>   & lt;/Manager>   & lt; Manager>   & lt; name> tom   & lt; age> 30 & lt;/age>   & lt; sex>男& lt;/sex>   & lt;/Manager>   & lt; Manager>   & lt; name> ruby   & lt; age> 29日& lt;/age>   & lt; sex>女& lt;/sex>   & lt;/Manager>   & lt;/Managers>

用Python自带的写xml文档的API去写,比较方便,后期容易维护。如果直接用打开文件的方式,一行一行的去写,比较费时,也难以维护。

<强> xml.dom模块创建xml的部分API

minidom.Document ()

创建一个空白xml文档树对象。

每个xml文档都是一个文档对象,代表着内存中的DOM树。

doc。createElement (tagName)

生成xml文档节点。参数表示要生成节点的名称。

如:(注意这里使用的例子都来自于上面创建xml文档的程序中,下同)

#创建一个根节点经理对象   时间=root  doc.createElement(& # 39;经理# 39;)

节点。setAttribute (attname,值)

给节点添加属性值对(属性).

参数说明:

attname:属性的名称

值:属性的值

如:

设置根节点的属性:

root.setAttribute(& # 39;公司# 39;,,& # 39;xx科技& # 39;)

doc.createTextNode(数据)

给叶子节点添加文本节点。如:

#给叶子节点名字设置一个文本节点,用于显示文本内容   nodeName.appendChild (doc.createTextNode (str(我[& # 39;名字# 39;])))

node.appendChild (node1)

将节点node1t添加到节点节点下。如:

#将叶子节点nodeName添加到父节点nodeManager下   nodeManager.appendChild(节点名)

doc。writexml()即可

函数原型:

writexml(作家,缩进=& # 39;& # 39;,,addindent=& # 39; & # 39;,, newl=& # 39; & # 39;,,编码=None)

将内存中xml文档树写入文件中。

用python生成xml的方法是什么