day08-XML( 二 )

  • 可以輸入任意字符(除]]>外)
  • 不能嵌套
  • 例子
    <?xml version="1.0" encoding="UTF-8" ?><students><student><code><!--如果希望把某些字符串當做普通文本使用,就用CDATA括起來--><![CDATA[<script data-compress=strip>function h(obj){alert("一段js代碼");}</script>]]></code></student></students>3.轉義字符對于一些單個字符,若想顯示其原始樣式,也可以使用轉義的形式予以處理
    day08-XML

    文章插圖
    例子
    <?xml version="1.0" encoding="UTF-8" ?><students><student><name>jack</name><age>10</age><gender>男</gender><!--轉義字符表示一些特殊的字符--><resume>年齡&lt;&gt;&amp;</resume></student></students>
    • 小結:
      遵循如下規則的xml文檔稱為格式正規的xml文檔:
    1. xml聲明語句<?xml version="1.0" encoding="UTF-8" ?>
    2. 必須有且僅有一個根元素
    3. 標記區分大小寫
    4. 屬性值用引號
    5. 標記成對
    6. 空標記關閉
    7. 元素正確嵌套
    4.DOM4j4.1xml解析技術原理和介紹
    • xml技術原理
      DOM (Document Object Model,文檔對象模型)定義了訪問和操作文檔的標準方法 。
    1. 不管是html文件還是xml文件,都是標記型文檔,都可以使用w3c組織制定的dom技術來解析
    2. document對象表示的是整個文檔(可以是html文檔,也可以是xml文檔)
    3. DOM 把 XML 文檔作為樹結構來查看 。能夠通過 DOM 樹來訪問所有元素 ??梢孕薷幕騽h除它們的內容,并創建新的元素 。元素,它們的文本 , 以及它們的屬性,都被認為是節點
    • xml解析技術介紹
      【day08-XML】早期 JDK 為我們提供了兩種xml的解析技術:DOM和Sax
    1. dom解析技術是W3C組織制定的,而所有的編程語言都對這個解析技術使用了自己語言的特點進行實現 。Java對dom技術解析也做了實現
    2. sun公司在JDK5版本對dom解析技術進行升級:SAX(Simple API for XML)解析,它是以類似事件機制通過回調告訴用戶當前正在解析的內容 。是一行一行地讀取xml文件進行解析的,不會創建大量的dom對象 。所以它在解析xml的時候,在性能上由于Dom解析
    這兩種技術已經過時,簡單了解即可
    • 第三方的XML解析技術
    1. jdom在dom基礎上進行了封裝
    2. dom4j 又對 jdom進行了封裝
    3. pull主要用在Android手機開發 , 跟sax非常類似,都是事件機制解析xml文件
    4.2dom4j介紹
    1. dom4j是一個簡單、靈活的開放源代碼的庫(用于解析/處理xml文件) 。dom4j是由早期開發JDOM的人分離出來后獨立開發的 。
    2. 與JDOM不同的是,dom4j使用接口和抽象基類,雖然dom4j的API相對要復雜一些,但他提供了比JDOM更好的靈活性
    3. Dom4j是一個非常優秀的Java XML API,具有性能優異、功能強大和極易使用的特點 。現在很多軟件采用的dom4j
    4. 使用dom4j開發 , 需要下載dom4j對象的jar文件
      dom4j的jar包下載地址(內有使用案例):dom4j
    官方api文檔:Overview (dom4j 1.6.1 API)
    4.3dom4j獲得document對象的方式
    開發dom4j要導入dom4j的jar包
    DOM4j中 , 獲得document對象的方式有三種:
    1. 讀取XML文件 , 獲得document對象
      SAXReader reader = new SAXReader();//創建一個解析器Document document = reader.read(new File("src/input.xml"));//XML Document
    2. 解析XML形式的文本 , 得到document對象
      String text = "<members></members>";//直接對一個字符串的xml文本進行解析Document document = DocumentHelper.parseText(text);
    3. 主動創建document對象
      Document document = DocumentHelper.createDocument();//創建根節點Element root = document.addElement("members");
    下面只演示方式一的使用:讀取XML文件,獲得document對象
    dom4j應用實例-讀取XML文件,獲得document對象
    1. 使用dom4j對students.xml文件進行增刪改查
      • 重點講解查詢(遍歷和指定查詢)
      • xml增刪改使用少,作為拓展,給出案例
    2. 引入dom4j的依賴的jar包
      day08-XML

      推薦閱讀