python 将数据存入xml中

前言:将数据写入格式为xml中。
利用python模块xml中的dom将数据写入xml中,明确以下几个事情:
1.模块导入为:from xml.dom.minidom import Document
2.实例化一个dom:dom = Document()
3.创建标签:sortnumber = dom.createElement("Sortnumber")
4.将标签加入到dom中:dom.appendChild(sortnumber)
5.添加属性:sortnumber.setAttribute("number",'1')
6.保存数据:dom.writexml(f, indent='\t', newl='\n', addindent='\t') f为写入文件,其他可以省略。
注意:根节点只能有一个,兄弟节点可以有多个,属性中的数字必须为字符串类型。
将以下数据写入xml中:

sortnumber_data = ["TU2", "TV7"]
keyword_data = ["住宅", "空间", "区位", "体型", "人文理念"]
abstracts_data = ["随着我国经济社会的发展,住宅的设计理念正在发生着悄悄的然而又是十分显著的变化,这种变化表现在住宅的区位设计、住宅的内部空间设计和住宅的体型设计中,住宅设计中的人文理念日益凸显"]

具体代码为:

from xml.dom.minidom import Document
"""
将数据写入xml中:
数据如下:TU2  TV7 ---sortnumber
        住宅,空间,区位,体型,人文理念 --keywords
        随着我国经济社会的发展,住宅的设计理念正在发生着悄悄的然而又是十分显著的变化,
        这种变化表现在住宅的区位设计、住宅的内部空间设计和住宅的体型设计中,住宅设计中的人文理念日益凸显.---abstracts       
"""
def write_datato_xml(sortnumber_data,keyword_data,abstracts_data):
    # 实例化一个Domcument
    dom = Document()
    # 创建根节点
    paper = dom.createElement("Paper")
    # 将根节点添加到domcument中
    dom.appendChild(paper)
    # 循环遍历所有数据,写入domcument中

    # 将sortnumber 写入
    for x in range(len(sortnumber_data)):
        # 创建sortnumber标签
        sortnumber = dom.createElement("sortnumber")
        # 将sortnumber加入到根节点paper
        paper.appendChild(sortnumber)
        # 取出每一个数据
        x_data = sortnumber_data[x]
        # 创建text标签
        sortnumber_text = dom.createTextNode(x_data)
        # 将text标签加入到sortnumber标签中
        sortnumber.appendChild(sortnumber_text)
        # 添加属性
        sortnumber.setAttribute("number",'{}'.format(x))

     # 将keywords写入
    for x in range(len(keyword_data)):
        # 创建keyword标签
        keyword = dom.createElement("keyword")
        # 将keyword 加入到paper
        paper.appendChild(keyword)
        # 取出每一个数据
        x_data= keyword_data[x]
        # 创建text标签
        keyword_text = dom.createTextNode(x_data)
        # 将text标签加入到kewword标签中
        keyword.appendChild(keyword_text)
        # 添加属性
        keyword.setAttribute("number","{}".format(x))

    # 将abstract写入
    for x in range(len(abstracts_data)):
        # 创建abstract标签
        abstract = dom.createElement("abstract")
        # 将absrtact标签加入到paper
        paper.appendChild(abstract)
        # 取出每一个数据
        x_data = abstracts_data[x]
        # 创建text标签
        abstract_text = dom.createTextNode(x_data)
        # 将text标签加入到abstract标签中
        abstract.appendChild(abstract_text)
        # 添加属性
        abstract.setAttribute("number","{}".format(x))

    with open("test2.xml",'w',encoding='utf-8') as f:
        # f:文件对象,indent:每个tag前面填充的字符,addindent:每个子节点的缩进字符,newl:每个tag后填充的字符
        dom.writexml(f, indent='\t', newl='\n', addindent='\t')
        f.close()

def main():
    # 数据
    sortnumber_data = ["TU2", "TV7"]
    keyword_data = ["住宅", "空间", "区位", "体型", "人文理念"]
    abstracts_data = ["随着我国经济社会的发展,住宅的设计理念正在发生着悄悄的然而又是十分显著的变化,这种变化表现在住宅的区位设计、住宅的内部空间设计和住宅的体型设计中,住宅设计中的人文理念日益凸显"]
    # 写入xml
    write_datato_xml(sortnumber_data,keyword_data,abstracts_data)

if __name__ == '__main__':
    main()

xml结果为:

<?xml version="1.0" ?>
	<Paper>
		<sortnumber number="0">TU2</sortnumber>
		<sortnumber number="1">TV7</sortnumber>
		<keyword number="0">住宅</keyword>
		<keyword number="1">空间</keyword>
		<keyword number="2">区位</keyword>
		<keyword number="3">体型</keyword>
		<keyword number="4">人文理念</keyword>
		<abstract number="0">随着我国经济社会的发展,住宅的设计理念正在发生着悄悄的然而又是十分显著的变化,这种变化表现在住宅的区位设计、住宅的内部空间设计和住宅的体型设计中,住宅设计中的人文理念日益凸显</abstract>
	</Paper>

总结:dom以根节点开始,添加子节点,将文本加入到子节点中,并为其设置属性以及属性值。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值