码迷,mamicode.com
首页 > 编程语言 > 详细

Python 读写xml

时间:2016-01-05 18:09:07      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

python对XML的解析

常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同。

python有三种方法解析XML: SAX,DOM,以及ElementTree:

1.SAX (simple API for XML )

python 标准库包含SAX解析器,SAX用事件驱动模型,通过在解析XML的过程中触发一个个的事件并调用用户定义的回调函数来处理XML文件。

2.DOM(Document Object Model)

将XML数据在内存中解析成一个树,通过对树的操作来操作XML。

3.ElementTree(元素树)

ElementTree就像一个轻量级的DOM,具有方便友好的API。代码可用性好,速度快,消耗内存少。

注:因DOM需要将XML数据映射到内存中的树,一是比较慢,二是比较耗内存,而SAX流式读取XML文件,比较快,占用内存少,但需要用户实现回调函数(handler)。

 

xml.dom和xml.sax包定义了Python绑定DOM和SAX接口。

XML包的子模块包括:

  • xml.etree.ElementTree: ElementTree API, 轻量级的XML处理器
  • xml.dom: DOM API
  • xml.dom.minidom: 最小的DOM实现
  • xml.dom.pulldom: 支持建设部分DOM树
  • xml.sax: SAX2 API
  • xml.parsers.expat: Expat解析器绑定

 

 

xml.dom.minidom 

首先需要把XML解析为DOM,该功能通过parse方法完成。

parse(filename_or_file, parser=None, bufsize=None)

返回一个文档对象

filename_or_file:文件名称或者文件对象

parse: 给定必须是SAX2解析对象

 

如果你的xml写在string中,可以用parseString方法

parseString(string, parser=None)

 

Python 读写xml

标签:

原文地址:http://www.cnblogs.com/for-you/p/5102978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!