zoukankan      html  css  js  c++  java
  • XML 文档定义有几种形式?它们之间有何本质区别?解析 XML 文档有哪几种方式?

    XML 文档定义分为 DTD 和 Schema 两种形式,二者都是对 XML 语法的约束,其

    本质区别在于 Schema 本身也是一个 XML 文件,可以被 XML 解析器解析,而且

    可以为 XML 承载的数据定义类型,约束能力较之 DTD 更强大。对 XML 的解析主

    要有 DOM(文档对象模型,Document Object Model)、SAX(Simple API for

    XML)和 StAX(Java 6 中引入的新的解析 XML 的方式,Streaming API for XML),

    295 页 共 485 页其中 DOM 处理大型文件时其性能下降的非常厉害,这个问题是由 DOM 树结构占

    用的内存较多造成的,而且 DOM 解析方式必须在解析文件之前把整个文档装入内

    存,适合对 XML 的随机访问(典型的用空间换取时间的策略);SAX 是事件驱动

    型的 XML 解析方式,它顺序读取 XML 文件,不需要一次全部装载整个文件。当

    遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,

    用户通过事件回调代码来处理 XML 文件,适合对 XML 的顺序访问;顾名思义,

    StAX 把重点放在流上,实际上 StAX 与其他解析方式的本质区别就在于应用程序

    能够把 XML 作为一个事件流来处理。将 XML 作为一组事件来处理的想法并不新

    颖(SAX 就是这样做的),但不同之处在于 StAX 允许应用程序代码把这些事件逐

    个拉出来,而不用提供在解析器方便时从解析器中接收事件的处理程序。

  • 相关阅读:
    总复习
    第十七天(最后的模块)
    第十五天(内置函数)
    第16天(内置模块)
    第十四天(模块)
    第十三天(都是理论)
    第十二天(叠加装饰器和迭代器)
    python基础学习-day33==课后作业练习
    python基础学习-面向对象高级
    python基础学习-day29==课后作业练习
  • 原文地址:https://www.cnblogs.com/programb/p/13021400.html
Copyright © 2011-2022 走看看