Python3 XML解析

发布时间:2023年12月29日

Python3 XML解析

什么是XML?

XML 指可扩展标记语言(eXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。?

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数据进行处理。

文章来源:https://blog.csdn.net/hakesashou/article/details/135298268
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。