python 读取xml文件

首先,获得标签信息abc.xml

<?xml version="1.0" encoding="utf-8"?>
<catalog>
    <maxid>4</maxid>
    <login username="pytest" password="123456">
        <caption>Python</caption>
        <item id="4">
            <caption>Testing</caption>
        </item>
    </login>
    <item id="2">
        <caption>Zope</caption>
    </item>

</catalog>

python获取catalog标签的信息

# -*- coding:utf-8 -*-

import xml.dom.minidom

# 打开xml文档
dom = xml.dom.minidom.parse(‘abc.xml‘)

# 得到文档元素对象
root = dom.documentElement
    print root.nodeName
    print root.nodeValue
    print root.nodeType
    print root.ELEMENT_NODE

xml.dom.minidom 模块被用来处理xml文件

parse():用于打开一个xml文件

documentElement:用于得到dom对象的文档元素,并将获得的对象给root,每一个结点都有它的nodeName,nodeValue,nodeType属性

nodeName:结点名字

nodeValue:结点值,只对文本结点有效

nodeType:结点类型

二、获得子标签:

<maxid>
<login>
import xml.dom.minidom

dom = xml.dom.minidom.parse(‘abc.xml‘)

root = dom.documentElement

bb = root.getElementsByTagName(‘maxid‘)
bb = bb[0]
print bb.nodeName

bb = root.getElementsByTagName(‘login‘)
bb = bb[0]
print bb.nodeName

三、区分相同标签名字的标签

<caption>
<item>
import xml.dom.minidom

# 打开xml文档
dom = xml.dom.minidom.parse(‘abc.xml‘)

# 得到文档元素对象
root = dom.documentElement

aa = root.getElementsByTagName(‘caption‘)
a = aa[2]
print a.nodeName

aa = root.getElementsByTagName(‘item‘)
a = aa[1]
print a.nodeName

root.getElementsByTagName(‘caption‘)获得的标签是caption一组标签

四、获得标签的属性值

username="pytest" password="123456"
id="4"
id="2"
import xml.dom.minidom

# 打开xml文档
dom = xml.dom.minidom.parse(‘abc.xml‘)

# 得到文档元素对象
root = dom.documentElement

#  获取标签的属性值
itemlist = root.getElementsByTagName(‘login‘)
item = itemlist[0]
un = item.getAttribute(‘username‘)
print un

pd = item.getAttribute(‘password‘)
print pd

ii = root.getElementsByTagName(‘item‘)
i1 = ii[0]
i = i1.getAttribute(‘id‘)
print i

i2 = ii[1]
i = i2.getAttribute(‘id‘)
print i

五、获得标签对之间的数据

 <caption>Python</caption>
 <caption>Testing</caption>
<caption>Zope</caption>
import xml.dom.minidom

# 打开xml文档
dom = xml.dom.minidom.parse(‘abc.xml‘)

# 得到文档元素对象
root = dom.documentElement

cc = dom.getElementsByTagName(‘caption‘)
c1 = cc[0]
print c1.firstChild.data

c2 = cc[1]
print c2.firstChild.data

c3 = cc[2]
print c3.firstChild.data
时间: 2024-10-21 16:45:05

python 读取xml文件的相关文章

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

1.在使用python对xml文件进行读取时,提示ValueError: multi-byte encodings are not supported 很多贴子上说把xml的编码格式改为,就可以正常执行了 <?xml version="1.0" encoding="utf-8"?> 但是事实证明,不成功,解决方法 1.用记事本方式打开xml文件,encoding后面指的就是编码方式 2.把你的xml文件另外为utf-8 在进行读取,文件编码问题解决 原文

python专题-读取xml文件

关于python读取xml文章很多,但大多文章都是贴一个xml文件,然后再贴个处理文件的代码.这样并不利于初学者的学习,希望这篇文章可以更通俗易懂的教如何使用python 来读取xml 文件. 什么是xml? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. abc.xml <?xml version="1.0" encoding="utf-8"?> <catalog> <max

python读取xml、html文件

自动化测试设计测试用例时有的用例需要重复执行很多次,此时就需要对测试使用到的测试值进行参数化设计,而且参数化有利于测试用例的后期维护:并且自动化web测试也需要xpath进行页面元素的定位,所以我学习下python如何处理xml文件. 以下为使用到的html文件,把他放在了程序父文件夹的configure文件夹下 <html> <head> <title>通讯录</title> <meta http-equiv="content-type&q

python读取excel文件(xrld模块)

Python读取excel文件 一.python  xlrd模块 安装 mac 下安装python  xlrd模块 http://www.crifan.com/python_read_excel_xls_file_xlrd/comment-page-1/ python setup.py install 在mac 下出现的错误是 http://stackoverflow.com/questions/18199853/error-could-not-create-library-python-2-7

读取xml文件,写入excel

在上一篇 Python写xml文件已经将所有订单写入xml文件,这一篇我们把xml文件中的内容读出来,写入excel文件. 输入xml格式: 1 <?xml version="1.0" encoding="utf-8"?> 2 <orderlist> 3 <order> 4 <customer>姓名1</customer> 5 <phone>123456</phone> 6 <

Python解析XML文件

python对XML的解析 常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同. python有三种方法解析XML,SAX,DOM,以及ElementTree: 1.SAX (simple API for XML ) pyhton 标准库包含SAX解析器,SAX用事件驱动模型,通过在解析XML的过程中触发一个个的事件并调用用户定义的回调函数来处理XML文件. 2.DOM(Document Object Model) 将XML数据在内存中解析成一个树,通过

python 读取 excel文件

python读取excel文件的链接都是从这里获取的: http://blog.csdn.net/longshen747/article/details/17194259 http://www.cnblogs.com/yanzhi123/archive/2012/04/16/2452214.html 上个示例的代码: import xml.etree.ElementTree as ETimport xlwtimport os path = "D:/Cai_Bishe/xml/"prin

Selenium2+Python3.6实战(七):读取xml文件,获得标签信息ExpatError: not well-formed (invalid token)

在读取xml文件的标签信息时,运行后出现错误提示: Traceback (most recent call last):   File "D:/Python/html/read-xml.py", line 3, in     dom = minidom.parse('info.xml')   File "D:\Program Files\Python36\lib\xml\dom\minidom.py", line 1958, in parse     return

Python解析xml文件遇到的编码解析的问题

使用python对xml文件进行解析的时候,如果xml文件的头文件是utf-8格式的编码,那么解析是ok的,但如果是其他格式将会出现如下异常: xml.parsers.expat.ExpatError: unknown encoding 因此,为了保证程序的正常运行,我们需要对读取的文件进行编码处理. 1.首先将读取的字符从原来的编码解析,并编码成utf-8: 2.修改xml的encoding: 代码如下: import sys import os import datetime import