快速瞭解XML

XSpringSun發表於2021-10-29

1. XML 定義

可擴充套件標記語言,標準通用標記語言的子集,簡稱XML。是一種用於標記電子檔案使其具有結構性的標記語言。

2. XML 展示

如下是一個xml的標記展示,XML 是不作為的XML 被設計用來結構化、儲存以及傳輸資訊,所以我們可以自由標記,只有我們賦予它什麼意義他就有什麼意義。
xml 用來簡化資料共享、簡化資料傳輸、簡化平臺的變更等功能。

<xml>
    <tag>標籤</tag>
    <parent>
        <son>兒子</son>
        <daughter>女兒</daughter>
    </parent>
    <famliy>xml大家庭</famliy>
</xml>

3. XML 文件例項

XML 文件必須包含根元素。該元素是所有其他元素的父元素。

XML 文件中的元素形成了一棵文件樹。這棵樹從根部開始,並擴充套件到樹的最底端。

encoding="utf-8" 用於指定該xml文件編碼。

<?xml version="1.0" encoding="utf-8"?>
<xml>
    <tag>標籤</tag>
    <parent>
        <son>兒子</son>
        <daughter>女兒</daughter>
    </parent>
    <famliy>xml大家庭</famliy>
</xml>

4. XML 其它特性

  • xml 省略關閉標籤是非法的。所有元素都必須有關閉標籤
    <son>兒子</son>
  • 元素可包含其他元素、文字或者兩者的混合物。元素也可以擁有屬性,熟悉提供元素的額外資訊。
<parent>
        父母擁有
        <son sex="屬性:男">兒子</son>
        <daughter sex="屬性:女">女兒</daughter>
 </parent>

5. XML 驗證

擁有正確語法的 XML 被稱為“形式良好”的 XML。

通過 DTD 驗證的 XML 是“合法”的 XML。

W3C 支援一種基於 XML 的 DTD 代替者,它名為 XML Schema,所以DTD的規範基本被淘汰了,現在我們主流使用的都是XML Schema,也就是說XML Schema是一種可以描述XML文件結構的定義,如果你的xml檔案遵循某一個XML Schema就可以通過再xml檔案中制定遵循的XML Schema,XML Schema 語言也可作為 XSD(XML Schema Definition)來引用。

<?xml version="1.0"?>
<xml
    xmlns="http://www.springsun.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springsun.com xml.xsd">
    <tag>標籤</tag>
    <parent>
        <son>兒子</son>
        <daughter>女兒</daughter>
    </parent>
    <famliy>xml大家庭</famliy>
</xml>

其中xmlns是預設名稱空間, xmlns:xsi 是一個行業預設標準,使用這個定義XMLSchema例項,xsi:schemaLocation指向XSD可訪問的位置。

6. XML 名稱空間

在 XML 中,元素名稱是我們自由制定的,當兩個不同的文件使用相同的元素名時,就會發生命名衝突,所以為了區分規定為標籤可以加上字首。

 <s:xml>
    <s:tag>標籤</s:tag>
    <s:parent>
        <s:son>兒子</s:son>
        <s:daughter>女兒</s:daughter>
    </s:parent>
    <s:famliy>xml大家庭</s:famliy>
</s:xml>

而名稱空間就是為了新增這個字首,在根節點使用 xmlns 來規定字首與某個特定標識對應以讓它有意義。

 <s:xml xmlns:s="http://www.springsun.com">
    <s:tag>標籤</s:tag>
    <s:parent>
        <s:son>兒子</s:son>
        <s:daughter>女兒</s:daughter>
    </s:parent>
    <s:famliy>xml大家庭</s:famliy>
</s:xml>

http://www.springsun.com 用於標示名稱空間的地址。其惟一的作用是賦予名稱空間一個惟一的名稱,只是行業都是用某一個網頁連結去標識。
為什麼我們平時看到的例子裡面沒有加像xmlns:s這樣的字首標識,因為不加 :s 則標識預設名稱空間,後面所有元素不加字首的都在該名稱空間下。

7.0 XSLT 顯示 XML

使用 XSLT 顯示 XML:使用 XSLT 在瀏覽器顯示 XML 檔案之前,先把它轉換為 HTML,這樣就可以按自定義樣式顯示xml資料到網頁上。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xml.xsl"?>
<xml
    xmlns="http://www.springsun.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springsun.com xml.xsd">
    <tag>標籤</tag>
    <parent>
        <son>兒子</son>
        <daughter>女兒</daughter>
    </parent>
    <famliy>xml大家庭</famliy>
</xml>

<?xml-stylesheet type="text/xsl" href="xml.xsl"?> 這個標記用於將xml按照xml.xsl的樣式轉換到html,如果瀏覽器支援xsl的話直接就可以顯示出來(基本瀏覽器都支援), xsl可以去檢視專門的介紹。

以上這些就可以對xml做一個快速入門瞭解,還有些其它知識用的時候再去檢索下就行了,比如 CDATA 、XML DOM、XPath等。

相關文章