python使用dom将数据写入XML文件

基本流程

1.创建根节点 2.创建节点 3.给该节点添加文本 4.给该节点设置属性 5.给该节点添加到父节点


代码如下

import xml.dom.minidom as minidom

doc = minidom.Document()                       # 创建根节点
a = minidom.getDOMImplementation()

data = doc.createElement('data')               # 在doc中创建一个data标签
doc.appendChild(data)                          # 将data标签添加到doc中
data_msg = doc.createTextNode('我是data')       # 在doc中创建一个text文本
data.appendChild(data_msg)                     # 将text添加到data中
data.setAttribute('code', '0')                 # 给data标签添加/修改属性(属性名,属性值)
data.setAttribute('name', 'query_zfy_info')    # 给data标签添加/修改属性(属性名,属性值)

message = doc.createElement('message')         # 在doc中创建一个message标签
data.appendChild(message)                      # 将message标签添加到父标签data中
message_data = doc.createTextNode('请求失败')   # 在doc中创建一个text文本
message.appendChild(message_data)              # 将text文本添加到message_data标签中
message.setAttribute('a', '2')                 # 给message标签添加/修改属性(属性名,属性值)

person1 = doc.createElement('老王')            # 在doc中创建一个person1标签
message.appendChild(person1)                  # 将person1标签添加到父标签message中
person1_info = doc.createTextNode('生平事迹')  # 在doc中创建一个person1_info文本
person1.appendChild(person1_info)             # 将person1_info文本添加到person1中
person1.setAttribute('b','1')                 # 设置person1的属性

# 1.创建根节点  2.创建节点  3.给这个节点添加文本  4.设置属性  5.给这个节点添加父节点
# 将DOM对象写入文件
xml_path = './03.xml'
f = open(xml_path, 'w')  
doc.writexml(writer=f, indent='\t', newl='\n', addindent='\t', encoding='utf-8')
f.close() 
# 1、writer是文件对象
# 2、indent是每个tag前填充的字符,如:’ ‘,则表示每个tag前有两个空格
# 3、addindent是每个子结点的缩近字符
# 4、newl是每个tag后填充的字符,如:’\n’,则表示每个tag后面有一个回车
# 5、encoding是生成的XML信息头中的encoding属性值,在输出时minidom并不真正进行编码的处理,如果你保存的文本内容中有汉字,则需要自已进行编码转换。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值