`
剑锋凛冽
  • 浏览: 73539 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Python处理XML之DOM解析

阅读更多

 

print "===========DOM方式解析XML文档======================="
'''
DOM 将XML文档定义为如下格式:
根节点
||
元素节点====属性节点
||
元素节点 OR 文本节点 OR CDATA节点
'''
from xml.dom.minidom import *
#传递文件路径或者是文件对象,如果是文件对象,调用parse之后,已经将DOM树加载到了内存
#,可以调用完之后立即关闭
domfile=parse("xmldata.xml")
#DOM以树的方式对xml解析,要求XML文档只能有一个根节点,
root=domfile.documentElement
#xml的DOM树已经加载到内存,因此文件可以关闭了
#可以用getElementsByTag来根据标签名来获取节点
children=root.childNodes
users=[]
user={}
for child in children:
	#跳过空格、回车等Text_Node=3子元素、ELEMENT_NODE=1、ATTRIBUTE_NODE=2
	if child.nodeType==root.ELEMENT_NODE:
		#通过attributes属性获取父节点的所有属性节点,通过方法getAttribute获取指定属性的值
		user.update({"name":child.getAttribute("name")})
		grands=child.childNodes
		for grand in grands:
			#元素节点本身不包含值,只能通过获取被它包含的文本节点、属性节点来读取值
			if grand.nodeType==root.ELEMENT_NODE:
				texts=grand.childNodes
				#Python 2.6以后,文本节点的值通过nodeValue属性获取,而不是text属性
				user.update({"description":texts[0].nodeValue.strip()})
		users.append(user)
		#处理完一个user之后,注意重置中间变量
		user={}
	#DOM将空格、回车等XML格式化的内容认为是文本节点,必须跳过处理
print users
for user in users:
	for item in user.items():
		key,value=item
		print key,value.encode("GBK")

 处理的数据时一样的

分享到:
评论

相关推荐

    python 解析XML python模块xml.dom解析xml实例代码

    一 、python模块 xml.dom 解析XML的APIminidom.parse(filename)加载读取XML文件 doc.documentElement获取XML文档对象 node.getAttribute(AttributeName)获取XML节点属性值 node.getElementsByTagName(TagName)获取...

    Python解析xml中dom元素的方法

    本文实例讲述了Python解析xml中dom元素的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下:from xml.dom import minidom try:  xmlfile = open(“path.xml”, “a+”)  #xmldoc = minidom.parse...

    python中利用xml.dom模块解析xml的方法教程

    主要给大家介绍了关于python中利用xml.dom模块解析xml的方法教程,文中通过示例代码介绍的非常详细,相信对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

    dom_xml.rar

    Python3 利用dom模块解析xml文件,通过某节点文本值获取兄弟节点的文本值

    用Python解析XML的几种常见方法的介绍

    这篇文章主要介绍了用Python解析XML的几种常见方法,包括快速的使用ElementTree模块等方法的实例介绍,... python解析XML常见的有三种方法:一是xml.dom.*模块,它是W3C DOM API的实现,若需要处理DOM API则该模块很适合

    Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法

    总结了一下使用Python对xml文件的解析,用到的模块儿如下: 分别从xml字符串和xml文件转换为xml对象,然后解析xml内容,查询指定信息字段。 from xml.dom.minidom import parse, parseString from xml.etree import...

    python解析xml文件方式(解析、更新、写入)

    使用的是python的xml.dom.minidom包,详情可见其官方文档:xml.dom.minidom官方文档。全文都将围绕以下的customer.xml进行操作: <?xml version=1.0 encoding=utf-8 ?> <!-- This is list of customers --...

    Python实现简单HTML表格解析的方法

    主要介绍了Python实现简单HTML表格解析的方法,涉及Python基于libxml2dom模块操作html页面元素的技巧,需要的朋友可以参考下

    python解析xml

    信息交流 关于python来解析xml文件的

    python实现XML解析的方法解析

    这篇文章主要介绍了python实现XML解析的方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 三种方法:一是xml.dom.*模块,它是W3C DOM API的实现,若需要...

    Python XML 解析

    Python XML 解析 什么是 XML? XML 指可扩展标记语言(eXtensible Markup Language)。 你可以通过本站学习 XML 教程 XML 被设计用来传输和存储数据。...Python 有三种方法解析 XML,SAX,DOM,以及 Element

    Python使用minidom读写xml的方法

    本文实例讲述了Python使用minidom读写xml的方法。分享给大家供大家参考。具体分析如下: 一 python提供的xml支持 ...python还提供了python独特的xml解析方法,相比于SAX和DOM更容易使用和更加快速,此方法为Elemen

    Python中使用dom模块生成XML文件示例

    在Python中解析XML文件也有Dom和Sax两种方式,这里先介绍如何是使用Dom解析XML,这一篇文章是Dom生成XML文件,下一篇文章再继续介绍Dom解析XML文件。 在生成XML文件中,我们主要使用下面的方法来完成。 主要方法 1、...

    python 解析xml

    python解析xml的手册 包含SAX和DOM两部分

    Python minidom模块用法示例【DOM写入和解析XML】

    一、DOM写XML文件 # -*- coding:utf-8 -*- #!python3 #导入minidom from xml.dom import minidom # 1.创建DOM树对象 dom=minidom.Document() # 2.创建根节点。每次都要用DOM对象来创建任何节点。 root_node=dom....

Global site tag (gtag.js) - Google Analytics