python读取xml文件内容_selenium-python读取XML文件

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

windows

Chorm

http://www.baidu.com

北京

上海

西安

成都

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)

你可能感兴趣的:(python读取xml文件内容)