Java/XML

維基教科書,自由的教學讀本

XML--EXtensible Markup Language(可擴展標記語言)是一種很流行的簡單的基於文本的語言來用作應用程式之間的通信模式。它被認為是傳輸標準裝置和存儲數據。JAVA提供了極好的支持和豐富的庫來解析,修改或查詢XML文檔。 XML是一種簡單的基於文本的語言,它被設計為儲存和運輸以純文本格式的數據。它代表着可擴展標記語言。以下是一些XML的顯着特徵。

1、XML是一種標記語言。

2、XML是一種標記語言就像HTML一樣。

3、XML標籤不是像HTML那樣預定義。

4、可以定義自己的標籤,這就是為什麼它被稱為可擴展的語言。

5、XML標籤被設計成自描述性的。

6、XML是W3C推薦用於數據存儲和傳輸。

示例

   <?xml version="1.0"?>
   <Class>
      <Name>First</Name>
      <Sections>
         
         
      </Sections>
   </Class>

優勢

以下是XML提供的優勢:

   技术无关 - 作为普通文本,XML是技术独立。它可以用于由任何技术进行数据的存储和传输的目的。
   人类可读 - XML使用简单的文本格式。它是人类可读和可以理解的。
   可扩展性 - 在XML,自定义标签可以创建和很容易使用。
   允许验证 - 使用XSD,DTD和XML结构可以很容易地验证。

缺點

下面是使用XML的缺點:

   冗余的语法 - 通常XML文件中包含大量的重复计算。
   冗余 - 作为一个冗长的语言,XML文件大小增加了传输和存储成本。


Java XML解析器 什麼是XML解析?

解析XML是指將通過XML文檔訪問數據或修改數據的一個操作或方法。


XML解析技術有兩種 DOM SAX

   DOM方式

根據XML的層級結構在內存中分配一個樹形結構,把XML的標籤,屬性和文本等元素都封裝成樹的節點對象

   优点: 便于实现增 删 改 查
   缺点: XML文件过大可能造成内存溢出
   SAX方式

採用事件驅動模型邊讀邊解析:從上到下一行行解析,解析到某一元素, 調用相應解析方法

   优点: 不会造成内存溢出,
   缺点: 查询不方便,但不能实现 增 删 改

不同的公司和組織提供了針對DOM和SAX兩種方式的解析器

   SUN的jaxp
   Dom4j组织的dom4j(最常用:如Spring)
   JDom组织的jdom

關於這三種解析器淵源可以參考java解析xml文件四種方式. JAXP 解析 Javax.xml.parsers

JAXP是JavaSE的一部分,在javax.xml.parsers包下,分別針對dom與sax提供了如下解析器: Dom

   DocumentBuilder
   DocumentBuilderFactory

SAX

   SAXParser
   SAXParserFactory
    

XML解析器是什麼?

XML解析器提供方法來訪問或修改XML文檔中的數據。 Java提供了多種選擇來解析XML文檔。以下是各種類型解析器其通常用於解析XML文檔。

   Dom解析器 - 解析通过加载该文件的全部内容,并创建其完整分级树中存储的文件。
   SAX解析器 - 解析基于事件触发器的文档。不完整(部分)的文件加载到存储器中。
   JDOM解析器 - 解析以类似的方式,以DOM解析器但更简单的方法的文档。
   StAX解析器 - 解析以类似的方式,以SAX解析器但在更高效的方式的文档。
   XPath解析器 - 解析基于表达式XML并广泛选择使用XSLT。
   DOM4J解析器 - Java库来解析XML,XPath和使用Java集合框架XSLT,为DOM,SAX和JAXP的支持。

JAXB和XSLT的API來處理XML解析在面向對象方法。