selenium-python读取XML文件
首先这是我们要读取的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文件的更多相关文章
- python读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
- python读取xml文件报错ValueError: multi-byte encodings are not supported
1.在使用python对xml文件进行读取时,提示ValueError: multi-byte encodings are not supported 很多贴子上说把xml的编码格式改为,就可以正常执 ...
- python读取xml文件中的坐标点
用labelImg工具制作好xml文件后,需要读取其中img路径和坐标点,生成一个label.txt <annotation> <folder>big</folder&g ...
- python 读取xml文件
首先,获得标签信息abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> &l ...
- python读取xml文件示例
最近用到了xml格式的文件,对这些没啥印象,顺便学习一下,做个例子,方便后续查阅. xml文档: <annotation> <folder>VOC2012</folder ...
- 【Python实例一】使用minidom读取xml文件
前言:最近刚在廖雪峰老师的网站里学习了Python的基础内容,想着循序渐进地找点实例练练手,网上看到有很多相关资料,决定针对感兴趣的内容实际编码实践一下,昨天刚好看到有关使用Python来读取XML文 ...
- python读写xml文件
python读取xml文件 xml文件是具有树状结构的,如果想要访问某个叶子结点,必须逐层获取其父结点,要读取某个叶子结点内容用text成员 使用前先加载xml工具包 try: import xml. ...
- Python 读写XML文件
Python 生成XML文件 from xml.dom import minidom # 生成XML文件方式 def generateXml(): impl = minidom.getDOMImple ...
- python专题-读取xml文件
关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是 ...
随机推荐
- unix:/tmp/php-cgi.sock
为什么要用unix:/tmp/php-cgi.sock,最主要的特征就是unix socket比tcp快,当网站流量大的时候,服务器的优化是分毫必争的. 当我们用php-fpm来管理我们的php启动时 ...
- background-clip和background-origin
background-clip 修剪:背景颜色从哪些区域开始显示,默认从border开始该属性指定了背景在哪些区域可以显示,但与背景开始绘制的位置无关,背景的绘制的位置可以出现在不显示背景的区域,这时 ...
- <转>KMP算法详解
看了好久的KMP算法,都一直没有看明白,直到看到了这篇博客http://www.tuicool.com/articles/e2Qbyyf让我瞬间顿悟. 如果你看不懂 KMP 算法,那就看一看这篇文章 ...
- poj_1456 贪心
题目大意 一家超市,要卖出N种物品(每种物品各一个),每种物品都有一个卖出截止日期Di(在该日期之前卖出可以获得收益,否则就无法卖出),且每种物品被卖出都有一个收益值Pi. 卖出每个物品需要耗时1天, ...
- poj_1190 树状数组
题目大意 给定一个S*S的矩形,该矩形由S*S个1x1的单元格构成,每个单元格内可以放一个整数,每次有如下可能操作: (1)改变某个单位单元格中的数的大小 (2)查询由若干个连续单元格构成的X*Y的大 ...
- 关于layer.photos即照片显示的问题。
在layer组件中,照片显示是不常用,今天做了一些不伤了. 在这里写出来,以备后用. 其中注意几个问题, 1.格式问题. 2.路径问题. 不同的layer有不同的格式,查看layerAPI中发现的格式 ...
- 安装Memcache的PHP扩展
查看memcached是否启动 # ps -ef | grep memcached 安装Memcache的PHP扩展 1.在http://pecl.php.net/package/memcache 选 ...
- PHP移除json数据最右侧的逗号!
具体函数是:PHP rtrim() 函数 参考地址: http://www.w3school.com.cn/php/func_string_rtrim.asp 参考: <!DOCTYPE htm ...
- 【css预处理器】------sass的基本语法------【巷子】
001.安装sass 1.删除gem源:gem sources --remove https://rubygems.org/ 2.添加国内源:gem sources -a http://gems.ru ...
- ASP.NET网站性能优化
如果你是一个做过ASP网站,又做过ASP.NET网站的程序员,你可能会发现,如果按正常的思路开发ASP.NET网站,ASP.NET网站的速度会比ASP网站慢很多,为什么强大的网站语言会比弱得慢的,原因 ...