XML和Html的关系
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
- XML 被设计用来传输和存储数据,其焦点是数据的内容。
- HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
XML文件的解析模型
DOM
DOM是W3C处理XML的标准API,它是许多其它与XML处理相关的标准的基础,不仅是Java,其它诸如Javascript,PHP,MS .NET 等等语言都实现了该标准, 成为了应用最为广泛的XML处理方式
- 形成树结构,直观好理解
- 解析过程中树结构保留在内存中,方便修改
- 当xml文件较大时,对内存消耗比较大,容易影响解析性能并造成内存溢出
- 适用范围:小型XML文件解析、需要全解析或者大部分解析XML、需要修改XML树内容以生成自己的对象模型
SAX
SAX使用了最少的系统资源和最快速的解析方式对XML处理提供了支持。 但随之而来繁琐的查找方式也给广大程序员带来许多困扰,常常令人头痛不已
- 采用事件驱动模式,对内存消耗比较小
- 适用于只需要处理xml中数据时
- 不易编码
- 很难同时访问同一个xml文件中的多处不同位置
适用范围:大型XML文件解析、只需要部分解析或者只想取得部分XML树内容、有XPath查询需求、有自己生成特定XML树对象模型的需求