python中使用minidom操作xml命令

本文整理了Python中使用xml.dom.minidom模块操作XML的相关命令,包括读取XML文件、获取元素及属性、处理元素值,以及写入XML文件的详细步骤,同时还涵盖了处理编码问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整理一下在个人使用的一些有关的minidom操作xml的命令,备查

读取xml文件

1、引入minidom类

from xml.dom import minidom

2、获取xml文件并得到文档元素对象

path=minidom.parse('文件名称')

root=path.documentElement

3、通过元素名字的获取子元素

itemlist=root.getElementsByTagName('元素名称')

4、若元素存在属性,获取元素属性

item = itemlist[0]

item.getAttribute(‘属性名称’)

5、获取元素下的值(处理元素值中空格、回车等)

content=itemlist[0].childNodes[0].nodeValue

content="".join(content.split())


写入xml文件

1、打开要写入的xml文件

f=open("student.xml","w")

2、创建根节点及子节点、子节点内容

doc=minidom.Document()
infoNode=doc.createElement("info")
doc.appendChild(infoNode)

建立子节点并加入名称

nameNode=doc.createElement("name")
infoNode.appendChild(nameNode)

建立子节点内容并加入到子节点之下
nameTextNode = doc.createTextNode("mingzi")
nameNode.appendChild(nameTextNode)

若子节点需要另外的属性,则使用

nameNode.setAttribute("名称",值)

3、写入xml文件

doc.writexml(f,'\n','  ','  ',"utf-8")

下面是取自网络的解释

#第一个参数f就是你的目标文件对象,第二个参数好像是<?xml>和下面一个根节点的缩进排列格式,
第三个参数好像是其他节点与子节点的缩进排列格式,第四个参数制定了换行的格式(如果你填入" ",那就不换行了,所有的xml都缩在了一行上面 :) )
,第五个参数制定了xml内容的编码。除了第一个参数是必须的,其他参数都是可选择的。


4、其他

若写入的xml文件读取时为乱码,则还需要进行转码操作,此处需要用到codecs和chardet库

import codecs
import chardet

f=codecs.open('test.xml','r').read()

source_encoding=chardet.detect(f)['encoding']
f=f.decode('gbk')

codecs.open("test.xml", 'w', encoding='utf-8').write(f)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值