首先,获得标签信息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. fastjson json转linkedhashmap为null

    试了几种JSONObject.parseObject的方法,返回的都是null: 使用Gson就可以转成功. LinkedHashMap<String, String> map = gso ...

  2. Spring Boot与监控管理

    概念: 通过引入spring-boot-starter-actuator,可以使用Spring Boot为我们提供的准生产环境下的应用监控和管理功能.我们可以通过HTTP,JMX,SSH协议来进行操作 ...

  3. Win10弹出需要管理员权限才能删除文件夹,解决办法

    Win键+R(就是开始-运行),弹出的输入框输入gpedit.msc回车. 绿色圈内是正解,设置为已禁用.已禁用.已禁用.记着重启才生效.

  4. DOS批处理脚本

    先概述一下批处理是个什么东东.批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了:但我想总结出一个“ ...

  5. HZOI20190908模拟40 队长快跑,影魔,抛硬币 题解

    题面:https://www.cnblogs.com/Juve/articles/11487699.html 队长快跑: 权值线段树与dp yy的不错 #include<iostream> ...

  6. DBMS的四大特性

  7. crontab定时任务语法及应用

    https://mp.weixin.qq.com/s/Oi9hppNQMeFiQo9s-ge79A crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows ...

  8. NSIS nsDialogs 插件

    介绍 nsDialogs nsDialogs 允许在安装程序中创建自定义页面.居于内置的页面之上,nsDialogs 能够创建包含任何类型的以任意形式排列的控件的页面.它能够创建简至仅一个控件的页面, ...

  9. 深入学习:Windows下Git新手教程(下)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangyabin001/article/details/35840591 声明:因为本人对于Git ...

  10. react高阶函数组件

    Layout as a Higher Order Component // components/MyLayout.js import Header from './Header'; const la ...