什么是XML?

XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。 你可以通过本站学习XML教程

XML 被设计用来传输和存储数据。

XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。

它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。


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。

本章节使用到的XML实例文件movies.xml内容如下:

<collection shelf="New Arrivals">
<movie title="Enemy Behind">
<type>War, Thriller</type>
<format>DVD</format>
<year>2003</year>
<rating>PG</rating>
<stars>10</stars>
<description>Talk about a US-Japan war</description>
</movie>
<movie title="Transformers">
<type>Anime, Science Fiction</type>
<format>DVD</format>
<year>1989</year>
<rating>R</rating>
<stars>8</stars>
<description>A schientific fiction</description>
</movie>
<movie title="Trigun">
<type>Anime, Action</type>
<format>DVD</format>
<episodes>4</episodes>
<rating>PG</rating>
<stars>10</stars>
<description>Vash the Stampede!</description>
</movie>
<movie title="Ishtar">
<type>Comedy</type>
<format>VHS</format>
<rating>PG</rating>
<stars>2</stars>
<description>Viewable boredom</description>
</movie>
</collection>

python使用SAX解析xml

SAX是一种基于事件驱动的API。

利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。

解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件;

而事件处理器则负责对事件作出相应,对传递的XML数据进行处理。

最新文章

  1. jquery 扩展插件方法
  2. C语言回顾-内存管理和指针函数
  3. Linux Mint安装jdk8
  4. BUG集锦
  5. ioctlsocket()
  6. jsp之jstl标签
  7. android 拨打电话小功能
  8. Http通讯协议在.net下的实现方法
  9. quality center的使用简介
  10. 让正则表达式变简单(PythonVerbalExpressions)
  11. Android基础_ContentProvider组件
  12. Thinkphp5.0+Vue2.0前后端分离框架Vuethink
  13. Tinychain 是比特币的一个简易口袋实现
  14. H3C_IRF_BFD配置
  15. 配置java-jdk
  16. 10K+,深度学习论文、代码最全汇总!
  17. 省市区联动JS脚本
  18. CHAPTER 19 Ordering the World 第19章 分类世界
  19. 命令行执行Django脚本
  20. epoll对poll(select)的改进

热门文章

  1. html的语法注意事项
  2. python常用的一些东西——sys、os等(转)
  3. java 连接mysql
  4. Python进阶_mysql(1)
  5. [LeetCode] Can Place Flowers 可以放置花
  6. Ubuntu 16下安装64位谷歌Chrome浏览器
  7. 剥掉层层外衣后的RPC是什么样子的?
  8. [测试题]gene
  9. [USACO17JAN]Promotion Counting晋升者计数
  10. [HNOI2011]数学作业