python xml childNodes,childNodes[1].childNodes[0].data例子
xml:
<?xml version='1.0' encoding='utf-8'?>
<!--this is a test about xml-->
<booklist type='scicence and enginerring'>
<book category='math'>
<title>learing math</title>
<title>learing math1</title>
<author>zhagn san</author>
<pageNumber>562</pageNumber>
</book>
<book category='python'>
<title>learing Python</title>
<author>li si</author>
<pageNumber>544</pageNumber>
</book>
</booklist>
下面代码可以看出每一层节点和内容介绍:
#coding=utf-8
from xml.dom.minidom import parse
DOMTree=parse(r"d:\\test.xml")
booklist=DOMTree.documentElement
print booklist
print "*"*30
books=booklist.getElementsByTagName('book')
print "books:",books
print "books[0].childNodes:",books[0].childNodes
print "books[0].childNodes[1]:",books[0].childNodes[1]
print "books[0].childNodes[1].childNodes:",books[0].childNodes[1].childNodes
print "books[0].childNodes[1].childNodes[0]:",books[0].childNodes[1].childNodes[0]
print "books[0].childNodes[1].childNodes[0].data:",books[0].childNodes[1].childNodes[0].data
#print "books[0].childNodes[1].childNodes[1]:",books[0].childNodes[1].childNodes[1]
解释:
#books是获取booklist对象中所有book节点的list集合
books: [<DOM Element: book at 0x28855d0>, <DOM Element: book at 0x2885990>]
#books[0].childNodes: 是第一个book节点的所有子节点,是一个列表
books[0].childNodes: [<DOM Text node "u'\n '">, <DOM Element: title at 0x28856e8>, <DOM Text node "u'\n '">, <DOM Element: title at 0x2885788>, <DOM Text node "u'\n '">, <DOM Element: author at 0x2885828>, <DOM Text node "u'\n '">, <DOM Element: pageNumber at 0x28858c8>, <DOM Text node "u'\n '">]
#books[0].childNodes[1]: 是第一个book节点的第二个子节点,是一个title标签元素-:<title>learing math1</title>,包含了标签和标签的子节点:文本节点
books[0].childNodes[1]: <DOM Element: title at 0x28856e8>
#books[0].childNodes[1].childNodes: 是第一个book节点的第二个子节点(title标签元素)的子节点(文本节点),是个列表
books[0].childNodes[1].childNodes: [<DOM Text node "u'learing ma'...">]
#books[0].childNodes[1].childNodes[0]: 是第一个book节点的第二个子节点(title标签元素)的子节点(文本节点-list)的第一个元素
books[0].childNodes[1].childNodes[0]: <DOM Text node "u'learing ma'...">
#books[0].childNodes[1].childNodes[0].data:是第一个book节点的第二个子节点(title标签元素)的子节点(文本节点-list)的第一个元素的值
books[0].childNodes[1].childNodes[0].data: learing math
#books[0].childNodes[1].childNodes[1]: 试图是拿到第一个book节点的第二个子节点(title标签元素)的子节点(文本节点-list)的第二个元素,但是报错了,可知该列表中只有一个元素
books[0].childNodes[1].childNodes[1]:
Traceback (most recent call last):
File "task_test.py", line 17, in <module>
print "books[0].childNodes[1].childNodes[1]:",books[0].childNodes[1].childNodes[1]
IndexError: list index out of range
由此而知,
凡是.以childNodes 结尾的,结果就是列表
凡是.以childNodes[i] 结尾的,结果就是一个节点元素
c:\Python27\Scripts>python task_test.py
<DOM Element: booklist at 0x28854b8>
******************************
books: [<DOM Element: book at 0x28855d0>, <DOM Element: book at 0x2885990>]
books[0].childNodes: [<DOM Text node "u'\n '">, <DOM Element: title at 0x28856e8>, <DOM Text node "u'\n '">, <DOM Element: title at 0x2885788>, <DOM Text node "u'\n '">, <DOM Element: author at 0x2885828>, <DOM Text node "u'\n '">, <DOM Element: pageNumber at 0x28858c8>, <DOM Text node "u'\n '">]
books[0].childNodes[1]: <DOM Element: title at 0x28856e8>
books[0].childNodes[1].childNodes: [<DOM Text node "u'learing ma'...">]
books[0].childNodes[1].childNodes[0]: <DOM Text node "u'learing ma'...">
books[0].childNodes[1].childNodes[0].data: learing math
books[0].childNodes[1].childNodes[1]:
Traceback (most recent call last):
File "task_test.py", line 17, in <module>
print "books[0].childNodes[1].childNodes[1]:",books[0].childNodes[1].childNodes[1]
IndexError: list index out of range
python xml childNodes,childNodes[1].childNodes[0].data例子的更多相关文章
- Python XML解析(转载)
Python XML解析 什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你可以通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是 ...
- Python XML解析之DOM
DOM说明: DOM:Document Object Model API DOM是一种跨语言的XML解析机制,DOM把整个XML文件或字符串在内存中解析为树型结构方便访问. https://docs. ...
- python大法好——Python XML解析
Python XML解析 什么是XML? XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识. 它也是元标记语言,即定义了用于定义其他与 ...
- python xml练习:从database.xml文件取databaselist的ip、name、passwd,写入列表
xml: <?xml version='1.1' encoding='utf-8'?><!--this is a test about xml--><databaseli ...
- Python XML解析
什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). 你可以通过本站学习XML教程 XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这 ...
- python xml包使用记录
<?xml version="1.0" encoding="utf-8" ?> <request> <functionID> ...
- python xml.etree.ElementTree解析xml文件获取节点
<?xml version = "1.0" encoding = "utf-8"?> <root> <body name=&quo ...
- python xml文件解析 及生成xml文件
#解析一个database的xml文件 """ <databaselist type="database config"> <dat ...
- Python xml处理模块
---恢复内容开始--- xml 通过< >节点来区别数据结构 ---恢复内容结束--- xml 通过< >节点来区别数据结构 <xml version='1.0'> ...
随机推荐
- GPU对数据的操作不可累加
我想当然的认为GPU处理数据时可以共同访问内存,所以对数据的操作是累加的. 事实证明:虽然GPU多个核可以访问同一块内存,但彼此之间没有依赖关系,它们对这块内存的作用无法累加. 先看代码: #incl ...
- backbone.js之Model篇 简单总结和深入(2)
一.模型属性的一些操作方法 1.mmodel.get() 获取属性的值 2.mmodel.set('age',5) 更新单个属性的值 mmodel.set({name:'aaa',age:6}) ...
- vmware新建Ubuntu时,提示此主机不支持 Intel VT-x
有两种解决方式 一.BIOS中打开CPU虚拟选项,不同厂商主板配置不同: 以下以个人thinkpad T460P电脑为例: 1.关机,开机,在启动时,按F1今天 BIOS 设置页面: 2.选择 Sec ...
- Spark2 Dataset统计指标:mean均值,variance方差,stddev标准差,corr(Pearson相关系数),skewness偏度,kurtosis峰度
val df4=spark.sql("SELECT mean(age),variance(age),stddev(age),corr(age,yearsmarried),skewness(a ...
- 小程序中的block
<block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性. 因为 wx:if 是一个控制属性,需要将它添加到一个标签上.如果要一次性判断多个组件标签, ...
- ELK之生产日志收集构架(filebeat-logstash-redis-logstash-elasticsearch-kibana)
本次构架图如下 说明: 1,前端服务器只启动轻量级日志收集工具filebeat(不需要JDK环境) 2,收集的日志不进过处理直接发送到redis消息队列 3,redis消息队列只是暂时存储日志数据,不 ...
- POJ 1964&HDU 1505&HOJ 1644 City Game(最大0,1子矩阵和总结)
最大01子矩阵和,就是一个矩阵的元素不是0就是1,然后求最大的子矩阵,子矩阵里的元素都是相同的. 这个题目,三个oj有不同的要求,hoj的要求是5s,poj是3秒,hdu是1秒.不同的要求就对应不同的 ...
- POJ-2029 Get Many Persimmon Trees(动态规划)
Get Many Persimmon Trees Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3987 Accepted: 2 ...
- Oracle HA 之 测试RAC的功能
作用:在oracle数据库instance级别的冗余,其中只要有一个instance可用即可保证可用性,但是不能保准数据级别的错误. 数据库文件需要放置在共享存储上,理论上一个实例对应一个数据库,实例 ...
- mongostat和mongotop对mongodb数据库运行状态进行监控
--mongostat工具是mongdb自带的监控工具,可以用来监控mongodb当前状态下的运行情况: [root@slave2 ~]# /usr/local/mongodb341/bin/mong ...