编程语言
首页 > 编程语言> > Python3处理XML文件学习

Python3处理XML文件学习

作者:互联网

Python3处理XML文件学习

介绍

XML是Extensible Markup Language的缩写,类似于HTMLSGML。XML适用于小规模或者中等规模且不使用数据库的应用场景。

XML解析器架构和API

Python标准库提供处理XML文件最小限度且有效的接口。XML数据处理最广泛使用的API主要有SAXDOM接口。

显然,当处理大文件时,根据工作机制,SAX不可能像DOM那样快速处理信息。另一方面,如果只使用DOM可能会耗尽你的资源,尤其是用于处理许多小文件时。

SAX是只读的,然而DOM允许对XML文件改写。这两种方法是互补,在处理大文件时,可以根据场景灵活决定具体使用哪种API。

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>

使用SAX API解析XML

SAX是事件驱动XML解析的标准接口。使用SAX解析XML通常要求开发人员通过继承xml.sax.ContentHandler创建自己的.ContentHandler

ContentHandler处理你感兴趣XML的特定标签和属性。.ContentHandler对象提供了各种解析事件的方法。当解析器解析XML文件时,解析器调用.ContentHandler方法。

标签:XML,文件,DOM,SAX,Python3,解析器,API
来源: https://blog.csdn.net/zdx19880830/article/details/112726115