没有合适的资源?快使用搜索试试~ 我知道了~
首页python批量修改xml属性的实现方式
资源详情
资源评论
资源推荐

python批量修改批量修改xml属性的实现方式属性的实现方式
主要介绍了python批量修改xml属性的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过
来看看吧
今天来说说xml那些事儿.如何批量修改指定文件夹下的xml文件的指定属性.分三步走,首先,我们先看看如何读写单个
的xml文件;第二步,来看看如何遍历指定文件夹下的所有文件,获取到所有文件的文件名;第三步,我们来看看一二之间
该如何衔接.好,lets do it
step1:对单个xml文件进行读写
给定一个xml文件:
<?xml version="1.0" encoding="utf-8"?>
<catalog>
<maxid>4</maxid>
<login username="pytest" passwd='123456'>
<caption>Python</caption>
<item id="4">
<caption>测试</caption>
</item>
</login>
<item id="2">
<caption>Zope</caption>
</item>
</catalog>
来看看代码,怎么读取里面的属性(大家先照着注释理解一遍,有空我再来详细说明)
#coding=utf-8
import xml.dom.minidom
#打开xml文档
dom=xml.dom.minidom.parse('test.xml')
#得到文档元素对象
root=dom.documentElement
print root.nodeName
print root.nodeValue
print root.nodeType
print root.ELEMENT_NODE
#1.获取maxid 这一node名字(没有属性值),如何获取里面的文本?
bb=root.getElementsByTagName('maxid')
b=bb[0]
print b.nodeName
#2.获取login 这一node名字及相关属性值
login=root.getElementsByTagName('login')
login=login[0] #获取login的相关属性值
un=login.getAttribute("username")
print un
pd=login.getAttribute("passwd")
print pd
#修改先关属性值
#3.获取节点名为item的相关属性值
item=root.getElementsByTagName('item') #获取了所有名字为item的node
item=item[0] #拿到第一个item,获取相关属性值
i=item.getAttribute("id")#获取id的值
print i
#4.获取标签对之间的数据,并修改为新的值
caption=root.getElementsByTagName('caption')
c0=caption[0]
print c0.firstChild.data #firstChild属性返回被选节点的第一个子节点,.data表示获取该节点数据
c1=caption[1]
print c1.firstChild.data
c2=caption[2] #caption节点有三个!!!
print c2.firstChild.data
#修改标签对之间的数据,直接对节点数据赋值
c2.firstChild.data='dhhdlh'
print c2.firstChild.data
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0