首先,获得标签信息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. Emmet 快捷支持

    1.https://docs.emmet.io/    [快捷demo视频演示] 2.https://docs.emmet.io/cheat-sheet/   [更多Emmet快捷案例示范]

  2. java基础温习 -- Thread synchronized关键字

    synchronized 基本规则 1. 当一个线程访问“某对象”的“synchronized方法”或者“synchronized代码块”时,其他线程对“该对象”的该“synchronized方法”或 ...

  3. GC 案例收集整理

    1.数组动态扩容  现象:系统一直在做cms gc,但是老生代一直不降下去,但是执行一次jmap -histo:live之后,也就是主动触发一次full gc之后,通过jstat -gcutil来看老 ...

  4. python的命名规范

    包应该是简短的.小写的名字.如果下划线可以改善可读性可以加入.如mypackage. 模块与包的规范同.如mymodule. 类总是使用首字母大写单词串.如MyClass.内部类可以使用额外的前导下划 ...

  5. springboot新增jsp的支持

    一.添加依赖 <!-- 添加对jsp的支持 --> <!-- web 依赖 --> <dependency> <groupId>org.springfr ...

  6. Apache 禁用IP 访问 和 HTTP 跳转 HTTPS

    如果需要 禁用IP 访问并且 需要 HTTP 跳转到 HTTPS <VirtualHost *:80> ServerName xxx.xxx.com RewriteEngine On Re ...

  7. Odoo使用jsonrpc协议

    在controller添加一个test方法, 不需参数 @http.route('/test', type = 'json', auth = 'public') def test(self): pha ...

  8. 基于在树上走的DP问题

    笔者已经很久没有打过题解了,如果打题解,就总是要连着一个知识点来打题解. 最近做过一共两道这样的题目.笔者认为这样的题有较强的可拓展性,比较有意义. 所以就打一篇博客. 问题概述 先说说这是个什么样的 ...

  9. csp-s模拟测试53u,v,w题解

    题面:https://www.cnblogs.com/Juve/articles/11602450.html u: 用差分优化修改 二维差分:给(x1,y1),(x2,y2)加上s: $d[x1][y ...

  10. pip更新升级后Import Error:cannot import name main及pip安装包后出现环境错误拒绝访问

    1. sudo gedit /usr/bin/pip 将pip改为pip._internal 2.pip install XX 改为 pip install --user XX