XML一頁通

  1. XML內容
    1. 概念

      可擴展標記語言(Extensible Markup Language) html

  • 可擴展:標籤都是自定義的
  • Xml與html的區別:都產自W3C(萬維網聯盟)
  1. 語法
    1. 第一行必須定義爲文檔申明。
    2. 文檔中有且僅有一個根標籤
    3. 屬性必須用引號(單雙均可以)引發來
    4. 標籤必須正確關閉
    5. Xml的標籤名稱區分大小寫

       

  2. 組成部分
    1. 文檔申明

      1.格式:<? 屬性列表 ?> 程序員

      2.屬性列表: 服務器

          * version:版本號,必須屬性。主流1.0,1.1不向下兼容 網絡

      * encoding:編碼方式 框架

      *standalone:是否獨立(基本不用, 並且如今也無效) dom

          * yes:不依賴其它文件 工具

          * no:依賴其它文件 編碼

    2. 指令(瞭解):結合CSS,和html相同
    3. 標籤:
      1. 屬性沒法包含多重的值(元素能夠)
      2. 屬性沒法描述樹結構(元素能夠)
      3. 屬性不易擴展(爲將來的變化)
      4. 屬性難以閱讀和維護

       

    4. 屬性:id屬性惟一值
    5. 文本:

      CDATA區:原樣展現區內容 spa

      <![CDATA[ 內容 ]]> xml

    6. 約束:規定XML文檔的書寫規則
      1. 做爲框架的使用者(程序員):
        1. 能在XML中引入約束文檔
        2. 可以簡單讀懂約束文檔
      2. 分類:
        1. DTD:一種簡單的約束技術(不能對值進行約束)
        2. Schema:一種複雜的約束技術
      3. DTD:
        1. 引入DTD文檔到XML文檔中
          1. 內部dtd:將約束規則定義在XML文檔中
          2. 外部dtd:將約束規則定義在外部的dtd文件中
            1. 本地:<!DOCTYPE 根標籤名 SYSTEM "dtd文件位置">
            2. 網絡:<!DOCTYPE 根標籤名 PUBLIC "dtd文件名(隨便)" "dtd文件位置URL"
      4. Schema:
        1. 引入:
          1. 填寫XML文檔的根元素
          2. 引入xsi前綴, xmlns:xsi="w3c固定格式"
          3. 引入xsd文件命名空間,xsi:schemaLocation="命名空間 文檔位置"
          4. 爲每個xsd約束聲明一個前綴,做爲標識 xmlns="http://www.itcast.cn/xml"
  3. 解析:操做xml文檔,將文檔中的數據讀取到內存中
    1. 操做xml文檔
      1. 解析(讀取):將文檔數據讀取到內存中
      2. 寫入:將內存中的數據保存到xml文檔中。持久化存儲。
    2. 解析xml的方式:
      1. DOM:將標記語言文檔一次性加載進內存,在內存中造成DOM樹。適用於服務器
        1. 優勢:操做方便,能夠對文檔進行CRUD操做
        2. 缺點:佔內存
    3. SAX:逐行讀取,基於事件驅動。適用於移動設備、智能硬件。
      1. 優勢:不佔內存
      2. 缺點:只能讀取,不能增刪改。
    4. Xml常見的解析器:
      1. JAXP:SUN,支持dom、sax兩種思想,速度慢,操做複雜
      2. DOM4J:很是優秀
      3. Jsoup:HTML、CSS、XML通用解析器
      4. PULL:Android系統內置的解析器
    5. Jsoup快速入門:
      1. 步驟:
        1. 導入jar包
        2. 獲取Document對象
        3. 獲取對應的標籤Element對象
        4. 獲取數據
      2. 代碼:
        1. 獲取xml路徑
          1. String path = JsoupDemo1.class.getClassLoader().getResource('student.xml').getpath();
        2. 解析xml文檔,加載進內存,獲取dom樹—>Document
          1. Document document = Jsoup.parse(new File(path), 'utf-8');
        3. 獲取元素對象Element
          1. Elements elements = document.getElementsByTag("name");
        4. 獲取數據
          1. String name = element.text();
    6. Jsoup對象的使用:
      1. Jsoup:工具類, 能夠解析html或xml文檔,返回Document
      2. Document:文檔對象,表明內存中的DOM樹
      3. Elements:元素Element合集
相關文章
相關標籤/搜索