首先,获得标签信息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

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文件示例

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

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

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

  6. selenium-python读取XML文件

    首先这是我们要读取的XML文件 <?xml version="1.0" encoding="utf-8" ?><info> <ba ...

  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. 阿里云 Aliplayer高级功能介绍(四):直播时移

    基本介绍 时移直播基于常规的HLS视频直播,直播推流被切分成TS分片,通过HLS协议向播放用户分发,用户请求的m3u8播放文件中包含不断刷新的TS分片地址:对于常规的HLS直播而言,TS分片地址及相应 ...

  2. Mac OS下使用ll等命令

    1. 进入用户bash_profile文件 vi ~/.bash_profile 2. 添加如下命令 alias ll='ls -l' alias la='ls -A' alias l='ls -CF ...

  3. 我的服装DRP之即时通讯——为WCF增加UDP绑定(应用篇)

    发个牢骚,博客园发博文竟然不能写副标题.这篇既为我的服装DRP系列第二篇,也给为WCF增加UDP绑定系列收个尾.原本我打算记录开发过程中遇到的一些问题和个人见解,不过写到一半发现要写的东西实在太多,有 ...

  4. log4j的使用及与mybatis应用

    log4j 输出级别 fatal(致命信息)>error(错误信息)>warn(警告信息)>info(普通信息)>debug(调试信息)>all(所有) log4j.pr ...

  5. <scrapy爬虫>爬取猫眼电影top100详细信息

    1.创建scrapy项目 dos窗口输入: scrapy startproject maoyan cd maoyan 2.编写item.py文件(相当于编写模板,需要爬取的数据在这里定义) # -*- ...

  6. ES6之主要知识点(七)对象

    1.属性的简洁表示法 ES6 允许直接写入变量和函数,作为对象的属性和方法.这样的书写更加简洁. function f(x, y) { return {x, y}; } // 等同于 function ...

  7. VC控件DateTimePicker使用方法

    出自http://www.cnblogs.com/52yixin/articles/2111299.html 使用DateTimePicker控件一般是获 取其时间替代手工输入带来的不便,而DateT ...

  8. elasticsearch 中文API 记数(八)

    计数API 计数API允许开发者简单的执行一个查询,返回和查询条件相匹配的文档的总数.它可以跨多个索引以及跨多个类型执行. import static org.elasticsearch.index. ...

  9. JavaWEB过滤器和监听器技术

    过滤器介绍 什么是过滤器 生活中的例子: 滤水器,口罩,杯子上滤网,渔网 生活中的过滤器:留下我们想要的,排除,我们不想要的. 高考: 只有分数够高的同学才能进入理想的大学.有一部分同学被拦截在大学之 ...

  10. C++ 赋值函数为什么返回reference to *this?

    赋值操作为什么要返回 reference to *this? 要弄清这个问题之前,先了解函数的返回值类型:返回值类型,返回引用类型 返回值类型:返回的是一个对象的副本. test operator= ...