您的位置:首页 > 编程语言 > Python开发

python xml解析

2012-08-22 14:25 375 查看
Xml知识

XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。

元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。

XML
属性

从 HTML,你会回忆起这个:<img
src="computer.gif">。"src"
属性提供有关 <img>
元素的额外信息。

一、得到dom对象
>>> import xml.dom.minidom
>>> dom = xml.dom.minidom.parse('d:/catalog.xml')
二、到到文档元素对象

>>> root = dom.documentElement
三、结点属性
每个结点都有他的nodeName ,nodeValue,nodeTye属性
nodeType的值有

'ATTRIBUTE_NODE'

'CDATA_SECTION_NODE'

'COMMENT_NODE'

'DOCUMENT_FRAGMENT_NODE'

'DOCUMENT_NODE'

'DOCUMENT_TYPE_NODE'

'ELEMENT_NODE'

'ENTITY_NODE'

'ENTITY_REFERENCE_NODE'

'NOTATION_NODE'

'PROCESSING_INSTRUCTION_NODE'

'TEXT_NODE'
四、子元素和子节点的访问

xml.dom 解析XML的API描述

minidom.parse(filename)

加载读取XML文件

doc.documentElement

获取XML文档对象

node.getAttribute(AttributeName)

获取XML节点属性值

node.getElementsByTagName(TagName)

获取XML节点对象集合

node.childNodes #返回子节点列表。

node.childNodes[index].nodeValue

获取XML节点值

node.firstChild

#访问第一个节点。等价于pagexml.childNodes[0]

doc = minidom.parse(filename)

doc.toxml('UTF-8')

返回Node节点的xml表示的文本

Node.attributes["id"]

a.name #就是上面的 "id"

a.value #属性的值

访问元素属性
<aaa>

<bbb>BBBB</bbb>

<ccc>CCCC</ccc>

</aaaa>

import xml.dom.minidom

def getdate(filename):

dom = xml.dom.minidom.parse(filename)

root = dom.documentElement

for node in root.childNodes:

if node.nodeType == node.ELEMENT_NODE:

keys = dom.getElementsByTagName(node.nodeName)

for key in keys.childNodes:

if key.nodeType == node.TEXT_NODE:

print node.nodeName, key,data
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: