• 技术文章 >Python技术 >Python基础教程

    Python3 XML解析

    silencementsilencement2019-07-03 11:49:57原创2463

    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内容如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

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

    专题推荐:xml
    上一篇:Python中可迭代对象、迭代器详解 下一篇:Python之类方法、__new__方法和__init__方法介绍

    相关文章推荐

    • Python之classmethod和staticmethod的区别• Python之JSON函数介绍• python抽象基类之_subclasshook_方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网