zoukankan      html  css  js  c++  java
  • python类库31[DOM+SAX解析XML和HTML]

    Standard Generalized Markup Language (SGML)即标准通用标记语言
    Hypertext Markup Language (HTML)超文本标识语言

    Extensible Markup Language (XML)可扩展标识语言 

    SGML,HTML,XML 都可以使用以下的SAX和DOM方式来解析  :

    SGML是现时常用的超文本格式的最高层次标准,是可以定义标记语言的元语言,甚至可以定义不必采用< >的常规方式。
    HTML和XML都是衍生于SGML,HTML是SGML的一个应用,不能用来定义其他的标记语言。
    XML可以被认为是SGML的一个子集,XML的产生就是为了简化SGML,以便用于更加通用的目的,比如语义Web。它已经应用于大量的场合,比较著名的有XHTML、RSS、XML-RPC和SOAP。

    一 SAX 与 DOM

    SAX (Simple API for XML) 和 DOM (Document Object Model)是处理XML文件的两种方法。
     
    SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件;而事件处理器则负责对事件作出相应,对传递的XML数据进行处理。
    DOM 可以让你以分层次对象模型来访问储存在XML文档中的信息。DOM生成一棵节点树(以XML文档的结构和信息为基础)你可以通过这棵树来访问你的信息。在XML文档中的文本信息转变成一组树的节点。DOM本质上是节点的集合。
    通过对SAX与DOM的分析,它们各有自己的不同应用领域。
    SAX适于处理下面的问题:
    1、对大型文件进行处理;
    2、只需要文件的部分内容,或者只需从文件中得到特定信息。
    3、想建立自己的对象模型的时候。
    DOM适于处理下面的问题:
    1、需要对文件进行修改;
    2、需要随机对文件进行存取。

    三 解析html的libs:

    由于html对语法的要求不是那么的严格,且标签相对固定, 所以相比XML,解析器要求更加智能,且更加方便地处理html的标签。

    http://lxml.de/
    http://www.crummy.com/software/BeautifulSoup/
    http://code.google.com/p/html5lib/

    完! 

  • 相关阅读:
    四则运算网页版
    第十周学习进度
    第九周学习进度
    针对石家庄铁道大学官网首页的UI分析
    站立会议10
    站立会议9
    站立会议8
    评价:百度搜索
    LogCat里的错误提示 FATAL EXCEPTION: main
    站立会议7
  • 原文地址:https://www.cnblogs.com/itech/p/2303622.html
Copyright © 2011-2022 走看看