1. 程式人生 > >【XML】——XML基礎

【XML】——XML基礎

目錄

第一章XML基礎

XML的起源

XML的定義

XML的應用

XML的組成

格式良好的XML

第二章DTD

第三章Schema

第四章DOM

第五章SAX

第六章dom4j


第一章XML基礎

首先,學習一個新知識的時候需要從巨集觀把握它都涉及到了哪些方面,正如目錄中看到的一樣,其次,從微觀入手,逐個擊破。

XML(可擴充套件標記語言)與之前學到的HTML(超文字標記語言)一樣都是標記語言,除了這倆種以外,還有哪些是標記語言呢?

XML的起源

瞭解XML之前先來複習HTML,看二者之間有何區別有何聯絡。

HTML

  • HTML(HyperText Markup Language)
  • HTML是網際網路應用的最基礎技術
  • HTML關注的是資料的顯示
  • HTML的核心作用是資訊的佈局和顯示

XML的定義

  • XML(eXtensible Markup Language)
  • XML是一種標記語言,類似HTML
  • 可擴充套件標記語言
  • XML標記都是自定義的
  • XML設計宗旨是包含和傳輸資料
  • XML是W3C的推薦標準
  • XML標準的網址:http://www.w3.org/TR/REC-xml/

XML和HTML的區別:

  • XML不是用來替換HTML的技術
  • XML和HTML為不同的目的而設計。XML設計的核心是包含與傳輸資料;HTML設計的核心是顯示資料。

XML的主要應用

  • 作為系統的配置檔案

  • Ajax中傳輸資料
  • Web Services中傳輸資料
  • 異構平臺(跨平臺)的資料交換與整合

(1)XML例項

<?xml version="1.0" encoding="utf-8"?>
<書籍列表>
    <計算機書籍>
        <書名>XML的今生今世</書名>
        <價格>66.66</價格>
        <簡要介紹>該書詳細描寫XML的從出生到衰老的整個生命週期</簡要介紹>
    </計算機書籍>
</書籍列表>

(2)XML格式

根元素

  • XML檔案的結構上是一種樹狀結構,它從“根部”開始,然後擴充套件到“枝葉”
  • XML的內容必須包含在一個單一元素中。這個單一元素稱為根元素,它包含文件中所有文字和所有其他元素。
  • XML檔案必須要有根元素

 元素

  • 元素是開始標籤、結束標籤以及位於二者之間的所有內容
  • 元素是區分大小寫的
  • 元素要正確巢狀
  • XML元素都必須正確關閉
  • 父元素與子元素,栗子:
<book>
    <author>
        <name>劉偉</name>
        <email>[email protected]</email>
    </author>
    <isbn>12345</isbn>
</book>

 實體引用

為了避免把字元資料和標籤中需要用到的一些特殊符號相混淆,XML還提供了實體引用。

字元 實體引用
& &amp;
> &gt;
< &it;
" &quot;
' &spos;

例如:如果想在XML頁中顯示書名號,如果是下面這種寫法就會報錯,因為程式會自動將《》與<>相混淆,識別不出書名號

<bookname>&It;&It;XML應用大全&gt;&gt;</bookname>

第一種正確的寫法如下:

<bookname>&It;&It;XML應用大全&gt;&gt;</bookname>

第二種正確的寫法如下:

<bookname><![CDATA[《XML應用大全》]]></bookname>

屬性

  • 屬性必須有值
  • 那些值必須用引號括起
  • 可以使用單引號,也可以使用雙引號,但要始終保持一致

CDATA

在特殊的標籤CDATA下,所有的標籤,實體引用都被忽略,而被XML處理程式一視同仁的當做字元資料看待。

CDATA的形式如下:

<![CDATA[文字內容]]>

處理指示(PI)

  • Processing instructions(PI)
  • 指示當前的XML檔案的內容,如何被顯示或者處理
  • 語法格式:<?target arg*?>
  • 栗子:使用XSLT處理當前的XML檔案
<?xml-stylesheet type="text/xsl" href="book.xsl"?>

格式良好的XML

格式良好的XML會遵守以下XML語法規則:

  • XML檔案必須有根元素
  • XML檔案必須有關閉標籤
  • XML標記對大小寫敏感
  • XML元素必須被正確的巢狀
  • XML屬性必須加引號