Web前端开发(六)--XML解析

1.XML与HTML的区别

XML和HTML都是用于操作数据或数据结构,在结构上大致是相同的,但它们在本质上却存在着明显的区别。

  • 语法要求不同

    • xml严格区分大小写
    • xml是严格的树状结构,绝对不能省略结束标记
    • xml中拥有单个标记而没有匹配的结束标记的元素必须用一个/字符作为结尾
    • xml中属性值必须分装在引号中
    • xml中所有属性都必须带有相应的值
    • xml中空白部分不会被解析器自动删除
  • 标记不同

    • xml没有固有的标记
  • 作用不同

    • html是用来显示数据的;xml是用来描述数据、存放数据的。html将数据和显示结合在一起,在页面中把数据显示出来;xml则将数据和显示分开。xml被设计用来描述数据,其焦点是数据的内容;html被设计用来显示数据,其焦点是数据的外观

    • xml不是html的替代品,xml和html是两种不同用途的语言。xml不是要替换html;实际上xml可以视作对html的补充。xml和html的目标不同,html的设计目标是显示数据并集中于数据外观,而xml的设计目标是描述数据并集中于数据的内容

    • 没有任何行为的xml与html相似,xml不进行任何操作

    • 对于xml最好的形容可能是:xml是一种跨平台的,与软、硬件无关的,处理与传输信息的工具

2.XML中DTD与XSD的区别与应用

1.DTD(Document Type Definition)

​ DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。DTD是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。

2.XSD(XML Schemas Definition)

​ XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认和固定值。

3.XSD是DTD替代者的原因:

  1. 据将来的条件可扩展
  2. 比DTD丰富和有用
  3. 用XML书写
  4. 支持数据类型
  5. 支持命名空间

3.Dom4j(Document for Java)

在绝大多数应用中,都会需要配置文件。比如要将数据库从 mysql 改为 oracle ,使用配置文件会很方便,而不需要修改代码,所以解析配置文件、读取信息也是代码的一部分。

如今有很多种解析 xml 文件的方式:DOM、SAX、JDom、Dom4j等等。其中最优秀、使用最广的就是Dom4j。著名的Hibernate框架也是使用这的,Sun官方也是使用Dom4j的。

Dom4j是一个Java的XML API,是jdom的升级品,用来读写 XML 文件的。

你可能感兴趣的:(Web前端开发(六)--XML解析)