XML基礎+解析

1. XML基礎

1. 概念 : Extensible Markup Language 可擴展標記語言

  • 可擴展: 標籤都是自定義的。

2. 功能 :

  • xml存儲數據
    • 配置文件
    • 在網絡中傳輸

3.  xml和html的區別:

  • xml標籤都是自定義的,html標籤是預定義。
  • xml 的語法嚴格, html 語法鬆散
  • xml是存儲數據的,html是展示數據的。

4.    w3c : 萬維網聯盟

語法:
  基本語法:

  • xml文檔後綴名 .xml
  • xml第一行必須定義文檔聲明
  • xml文檔有且僅有一個根標籤
  • 屬性值必須使用引號(單雙都可)引起來
  • 標籤必須正確關閉 (有結束標籤)
  • xml 標籤名稱區分大小寫
    在這裏插入圖片描述
    在這裏插入圖片描述

組成部分:

  1. 文檔聲明
    • 格式:<?xml version='1.0' ?>     問號和<及xml之間不能有空格。
    • 屬性列表:
      • version : 版本號,必需的屬性。
      • encoding :編碼方式,告知解析引擎當前文檔使用的字符集,默認:ISO-8859-1
      • standalone : 是否獨立,取值:yes(不依賴其他文件)/no(依賴其他文件)
  2. 指令(瞭解): 結合CSS來控制標籤的樣式
    •      <?xml-stylesheet type="text/css" href="a.css" ?>
  3. 標籤:標籤名稱自定義
    • 名稱可以包含字母、數字及其他字母
    • 名稱不能以數字或標點符號開始
    • 名稱不能以字母xml ( 或者 XML 、Xml 等等)開始
    • 名稱不能包含空格
  4. 屬性 :
    •     id屬性值唯一
  5. 文本:
    • 下面代碼的第一個if語句,瀏覽器無法識別,使用第二個轉義符 纔可以。
      在這裏插入圖片描述
    • CDATA區: 該區域中的數據會被原樣展示。
      • 格式: <![CDATA[ 數據 ] ]>
        在這裏插入圖片描述

2. XML約束

在這裏插入圖片描述

約束: 規定xml文檔的書寫規則

  1. 作爲框架的使用者(程序員):
    • 能夠在xml中引入約束文檔
    • 能夠簡單的讀懂約束文檔
  2. 分類:
    • DTD:一種簡單的約束技術
    • Schema : 一種複雜的約束技術
  3. DTD:
    • 引入dtd文檔到xml中
      • 內部dtd : 將約束規則定義在xml文檔中
      • 外部dtd : 將約束的規則定義在外部的dtd文件中
        • 本地:<!DOCTYPE 根標籤名 SYSTEM “dtd文件的位置”>
        • 網絡:<!DOCTYPE 根標籤名 PUBLIC “dtd文件名字” “dtd文件的位置URL”>
          ![在這裏
          laXhpbl80NDEwNzkyMA==,size_16,color_FFFFFF,t_70)
    • Schema:
      在這裏插入圖片描述

2. XML解析

解析:操作xml文檔,將文檔中的數據讀取到內存中

  1. 操作xml文檔
    1. 解析(讀取):將文檔中的數據讀取到內存中
    2. 寫入 : 將內存中的數據保存到xml文檔中。持久化的存儲
  2. 解析xml的方式:
    1. DOM : 將標記語言文檔一次性加載進內存,在內存中形成一顆dom樹。
      1. 優點: 操作方便,可以對文檔進行CRUD的所有操作。
      2. 缺點: 佔內存
    2. SAX : 逐行讀取,基於事件驅動的
      1. 優點: 不佔內存。
      2. 缺點: 只能讀取,不能增刪改。
  3. xml常見的解析器:
    1. JAXP : sun公司提供的解析器,支持dom和sax兩種思想。
    2. DOM4J : 一款非常優秀的解析器。
    3. Jsoup : jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於jQuery的操作方法來取出和操作數據。
    4. PULL : Android 操作系統內置的解析器,sax方式的。
  1. Jsoup: jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文本內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於jQuery的操作方法來取出和操作數據。
    1. 快速入門:
      1. 步驟:
        • 導入jar包
        • 獲取Document 對象
        • 獲取對應的標籤Element對象
        • 獲取數據
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章