zoukankan      html  css  js  c++  java
  • java XML(可扩展标记语言)

    XML

            是EXtensible Markup Language的缩写,它是一种类似于HTML的标记语言,称为可扩展标记语言,传输数据而不是显示数据,可以自定义标签,具有自我描述性是一种通用的数据交换格式,可以使数据在各种应用程序之间轻松地实现数据的交换。


    1、XML语言和HTML语言在格式有点相似,HTML与XML比较

    • HTML中的标记是用来显示数据的,而XML中的标记用来描述数据的性质和结构。
    • HTML是不区分大小写的,而XML是严格区分大小写的。
    • HTML可以有多个根元素,而格式良好的XML有且只能有一个根元素。
    • HTML中,属性值的引号是可用可不用的,而XML中,属性值必须放在引号中。
    • HTML中,空格是自动过滤的,而XML中,空格则不会自动删除。
    • HTML中的标记是预定义的,而XML中的标记是可以随便定义的,并且可扩展。

    注意:XML不是HTML的升级,也不是HTML的替代产品,它们的应用领域和范围完全不同。

    2、XML命名规则

    • 名称可以包含字母、数字以及其他的字符
    • 名称不能以数字或者标点符号开始
    • 名称不能以字母 xml(或者 XML、Xml 等等)开始
    • 名称不能包含空格
    • 可使用任何名称,没有保留的字词。

    3、XML解析

          XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。
          XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。

           XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。


    其中前两种属于基础方法,是官方提供的平台无关的解析方式;后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台。

    四种解析方式简单比较:

           DOM4J性能最好,如果不考虑移植性,可以选择DOM4J,目前许多开源项目中大量采用DOM4J。 JDOM和DOM在性能测试时表现不佳,在测试10M文档时内存溢出。在小文档情况下还值得考虑使用DOM和JDOM。SAX表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX检测即将到来的XML流,但并没有载入到内存(当然当XML流被读入时,会有部分文档暂时隐藏在内存中)

     

    一个简单的XML文件:

     1 <?xml version="1.0" encoding="UTF-8"?>//必须放在第一行
     2 <menu>         //根标签(元素)
     3    freeFile    //没有标签包裹的,默认为文本Text
     4     <contact id="2018"> //子标签contact  属性id
     5           <name>花花</name>
     6           <age>18</age>
     7           <phone>110</phone>
     8           <email>eo@163.com</email>
     9           <qq>116</qq>
    10     </contact>
    11     <contact id="2017">
    12          <name>小花</name>
    13          <age>18</age>
    14          <phone>110</phone>
    15          <email>ec@163.com</email>
    16          <qq>128</qq>
    17     </contact>
    18 <menu>

    XML将数据组织成为一棵树,DOM 通过解析 XML 文档,为 XML 文档在逻辑上建立一个树模型,树的节点是一个个的对象。这样通过操作这棵树和这些对象就可以完成对 XML 文档的操作,为处理文档的所有方面提供了一个完美的概念性框架。

    在此解释一下DOM,DOM是文档对象模型(Document Object Model)的缩写,DOM树,就是按照这棵树上的层次顺序,依次来解析每个标签。

     4、对XML进行DOM4j解析

    DOM4J解析
               特征:
          1、JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。
          2、它使用接口和抽象基本类方法。
          3、具有性能优异、灵活性好、功能强大和极端易用的特点。
          4、是一个开放源码的文件

     未完待续。。。。。。。

  • 相关阅读:
    关于拷贝构造函数和赋值运算符
    笔试题(转)
    Pro *C/C++学习笔记(一)
    __cdecl
    Visual Studio 2010中C++的四大变化(转)
    小小递归函数的执行过程
    stl string常用函数
    【C/C++ string】之strcpy函数
    409 Excuses, Excuses!
    10878 Decode the tape
  • 原文地址:https://www.cnblogs.com/echola/p/9487943.html
Copyright © 2011-2022 走看看