首先这是我们要读取的XML文件

<?xml version="1.0" encoding="utf-8" ?>
<info>
<base>
<platform>windows</platform>
<browser>Chorm</browser>
<url>http://www.baidu.com</url>
<login username="admin" passwd="1234"/>
<login username="guest" passwd="2342"/>
</base>
<test>
<province>北京</province>
<province>上海</province>
<city>西安</city>
<city>成都</city>
</test>
1.获取标签信息

首先要导入xml的mindom模块,用来处理xml文件,parse()用于打开XML文件。documentE;ement用于得到XML文件的唯一根元素

#coding=utf-8
from xml.dom import minidom

#打开xml文件
date = minidom.parse('info.xml')

#得到文档的对象
root = date.documentElement

#打印节点名称
print root.nodeName
#打印节点值
print root.nodeValue
#打印节点类型
print root.nodeType
print root.ELEMENT_NODE
2.获得任意标签名

#coding=utf-8
from xml.dom import minidom

#打开xml文件
date = minidom.parse('info.xml')

#得到文档的对象
root = date.documentElement

#获取标签名为browser的一组标签
tagname = root.getElementsByTagName('browser')
#打印标签名
print tagname[0].tagName

tagname = root.getElementsByTagName('login')
print tagname[1].tagName

tagname = root.getElementsByTagName('province')
print tagname[1].tagName
3.获得标签的属性值

#coding=utf-8
from xml.dom import minidom

#打开xml文件
date = minidom.parse('info.xml')

#得到文档的对象
root = date.documentElement

#获取标签名为login的一组标签
logins = root.getElementsByTagName('login')

#获取login下第一个username属性值
username = logins[0].getAttribute("username")
print username
#获取login下第一个passwd属性值
passwd = logins[0].getAttribute("passwd")
print passwd

#获取login下第二个username属性值
username = logins[1].getAttribute("username")
print username
#获取login下第二个passwd属性值
passwd = logins[1].getAttribute("passwd")
print passwd
4.获取标签对之间的数据
#coding=utf-8
from xml.dom import minidom

#打开xml文件
date = minidom.parse('info.xml')

#得到文档的对象
root = date.documentElement

#获取标签名为province的一组标签
provinces = root.getElementsByTagName('province')
citys = root.getElementsByTagName('city')

#获取第二个province标签对的值,firstChild返回被选节点的第一个子节点,data表示获取该节点的数据
p2 = provinces[1].firstChild.data
print p2

#获取第一个city标签对的值
c1 = citys[0].firstChild.data
print c1

#获取第二个city标签对的值
c2 = citys[1].firstChild.data
print c2

python 读取xml文件内容并完成修改

import os
import xml.etree.ElementTree as ET

def changesku(inputpath):
    listdir = os.listdir(inputpath)
    for file in listdir:
        if file.endswith('xml'):
            file = os.path.join(inputpath,file)
            tree = ET.parse(file)
            root = tree.getroot()
            for object1 in root.findall('object'):      #我要修改的元素在object里面,所以需要先找到object
                for sku in object1.findall('name'):   #查找想要修改的所有同种元素
                    if (sku.text == '005'):                 #‘005’为原始的text
                        sku.text = '008'                     #修改‘name’的标签值
                        tree.write(file,encoding='utf-8')     #写进原始的xml文件,不然修改就无效,‘encoding = “utf - 8”’避免原始xml                                                                                      #中文字符乱码

else:
                        pass                                    
        else:
            pass

if __name__ == '__main__':
    
    inputpath = 'D:\\easy\\hebing_xml'         #这是xml文件的文件夹的绝对地址
    changesku(inputpath)

selenium-python读取XML文件的更多相关文章

  1. python读取xml文件

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...

  2. python读取xml文件报错ValueError: multi-byte encodings are not supported

    1.在使用python对xml文件进行读取时,提示ValueError: multi-byte encodings are not supported 很多贴子上说把xml的编码格式改为,就可以正常执 ...

  3. python读取xml文件中的坐标点

    用labelImg工具制作好xml文件后,需要读取其中img路径和坐标点,生成一个label.txt <annotation> <folder>big</folder&g ...

  4. python 读取xml文件

    首先,获得标签信息abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> &l ...

  5. python读取xml文件示例

    最近用到了xml格式的文件,对这些没啥印象,顺便学习一下,做个例子,方便后续查阅. xml文档: <annotation> <folder>VOC2012</folder ...

  6. 【Python实例一】使用minidom读取xml文件

    前言:最近刚在廖雪峰老师的网站里学习了Python的基础内容,想着循序渐进地找点实例练练手,网上看到有很多相关资料,决定针对感兴趣的内容实际编码实践一下,昨天刚好看到有关使用Python来读取XML文 ...

  7. python读写xml文件

    python读取xml文件 xml文件是具有树状结构的,如果想要访问某个叶子结点,必须逐层获取其父结点,要读取某个叶子结点内容用text成员 使用前先加载xml工具包 try: import xml. ...

  8. Python 读写XML文件

    Python 生成XML文件 from xml.dom import minidom # 生成XML文件方式 def generateXml(): impl = minidom.getDOMImple ...

  9. python专题-读取xml文件

    关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...

随机推荐

  1. linux发布项目

    1.右击项目 export --->war file 上传到linux服务器 2.解压 jiar -xvf xx.war 3.移动到 tomcat webapps文件中 4.启动tomcat 访 ...

  2. postgres模板数据库

    CREATE DATABASE 实际上是通过拷贝一个现有的数据库进行工作的.缺省时,它拷贝名为 template1 的标准系统数据库.所以该数据库是创建新数据库的"模板".如果你给 ...

  3. 深入浅出Docker(三):Docker开源之路

    背景 Docker从一开始的概念阶段就致力于使用开源驱动的方式来发展,它的成功缘于国外成熟的开源文化氛围,以及可借鉴的社区运营经验.通过本文详细的介绍,让大家可以全面了解一个项目亦或者一项技术是如何通 ...

  4. yield方法

    yield方法的作用是房企当前的CPU资源,将他让给其他的任务去占用CPU执行时间,但房企的时间不确定,有可能刚刚放弃,马上又获得CPU时间片. package yield; /** * Create ...

  5. cursor:hand & cursor:pointer

    1.cursor:hand & cursor:pointer都是将鼠标设置为手形. 2.cursor:hand存在兼容性问题,firefox并不支持该属性值.但大部分主流浏览器支持cursor ...

  6. windows下的mysql迁移到linux下

    最近做毕业设计,需要把windows下的mysql移植到linux下 曾经有过在window下移植mysql数据库的经验,只需要把msql的数据文件复制到另一台安装mysql的机器的数据存放位置,然后 ...

  7. js对字符串进行加密和解密方法!

    在做一些微信小程序,或混合 app 的时候,或者是考虑到一些 JS 数据安全的问题.可能会使用到 JS 对用户信息进行缓存. 例如在开发:微信小程序对用户进行加密缓存,开发混合APP对用户信息进行加密 ...

  8. 基础概念 之 Hadoop Family

    Hadoop家族的技术,网上资料多如牛毛,但是还是那句老话——好脑瓜不如烂笔头,看的再多也不如自己动手写一写. Hadoop是一个分布式系统,有两个关键组件——HDFS和MapReduce,HDFS负 ...

  9. SpringCloud 进阶之分布式配置中心(SpringCloud Config)

    1. SpringCloud Config SpringCLoud Config 为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用 的所有环境提供了一个中心化的外部配置; ...

  10. Python开发【笔记】:进程

    序言 进程与线程概述: 很多同学都听说过,现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统. 什么叫“多任务”呢?简单地说,就是操作系统可以同时运 ...