成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

XML入門

gityuan / 3042人閱讀

摘要:的設(shè)計宗旨是傳輸數(shù)據(jù),而不是顯示數(shù)據(jù)。驗證擁有正確語法的被稱為形式良好的。文檔不會攜帶有關(guān)如何顯示數(shù)據(jù)的信息。命名空間命名空間提供避免元素命名沖突的方法。使用前綴來避免命名沖突在中的命名沖突可以通過使用名稱前綴從而容易地避免。

1 XML簡介 什么是XML?

XML 指可擴(kuò)展標(biāo)記語言(EXtensible Markup Language)。

XML 是一種標(biāo)記語言。

XML 的設(shè)計宗旨是傳輸數(shù)據(jù),而不是顯示數(shù)據(jù)。

XML 標(biāo)簽沒有被預(yù)定義。您需要自行定義標(biāo)簽。

XML 被設(shè)計為具有自我描述性。

XML 是 W3C 的推薦標(biāo)準(zhǔn)。

XML不會做任何事情

XML不會做任何事情,XML被設(shè)計用來結(jié)構(gòu)化、存儲以及傳輸信息。


Tove
Jani
Reminder
Don"t forget me this weekend!

上面的這條便簽具有自我描述性。它包含了發(fā)送者和接受者的信息,同時擁有標(biāo)題以及消息主體。
但是,這個 XML 文檔仍然沒有做任何事情。它僅僅是包裝在 XML 標(biāo)簽中的純粹的信息。我們需要編寫軟件或者程序,才能傳送、接收和顯示出這個文檔。

上面實例中的標(biāo)簽沒有在任何 XML 標(biāo)準(zhǔn)中定義過(比如 )。這些標(biāo)簽是由 XML 文檔的創(chuàng)作者發(fā)明的。這是因為 XML 語言沒有預(yù)定義的標(biāo)簽。

HTML 中使用的標(biāo)簽都是預(yù)定義的。HTML 文檔只能使用在 HTML 標(biāo)準(zhǔn)中定義過的標(biāo)簽(如

等等)。XML 允許創(chuàng)作者定義自己的標(biāo)簽和自己的文檔結(jié)構(gòu)。

2 XML語法

XML文檔形成了一種樹結(jié)構(gòu),它從"根部"開始,然后擴(kuò)展到"枝葉"。

一個XML文檔實例

XML文檔使用簡單的具有自我描述性的語法:



Tove
Jani
Reminder
Don"t forget me this weekend!

第一行是 XML 聲明。它定義 XML 的版本(1.0)和所使用的編碼(UTF-8)。

下一行描述文檔的根元素(像在說:"本文檔是一個便簽"),接下來 4 行描述根的 4 個子元素(to, from, heading 以及 body)。

語法規(guī)則 XML 文檔必須有根元素

XML 必須包含根元素,它是所有其他元素的父元素

XML 聲明

XML 聲明文件的可選部分,如果存在需要放在文檔的第一行

所有的 XML 元素都必須有一個關(guān)閉標(biāo)簽

在 XML 中,省略關(guān)閉標(biāo)簽是非法的。所有元素都必須有關(guān)閉標(biāo)簽。

note:
這個關(guān)閉標(biāo)簽的一種簡寫

XML 標(biāo)簽對大小寫敏感

XML 標(biāo)簽對大小寫敏感。標(biāo)簽 與標(biāo)簽 是不同的。必須使用相同的大小寫來編寫開始標(biāo)簽和結(jié)束標(biāo)簽。

XML 必須正確嵌套 XML 屬性值必須加引號

與 HTML 類似,XML 元素也可擁有屬性(名稱/值的對)。在 XML 中,XML 的屬性值必須加引號。

錯誤:

Tove
Jani


正確

Tove
Jani
實體引用

在 XML 中,一些字符擁有特殊的意義。如果您把字符 "<" 放在 XML 元素中,會發(fā)生錯誤,這是因為解析器會把它當(dāng)作新元素的開始。

在 XML 中,有 5 個預(yù)定義的實體引用:

& lt; < less than
& gt; > greater than
& amp; & ampersand
& apos; " apostrophe
& quot; " quotation mark
XML 中的注釋

在 XML 中編寫注釋的語法與 HTML 的語法很相似。

在 XML 中,空格會被保留 XML 以 LF 存儲換行 3 XML元素 什么是XML元素?

XML 元素指的是從(且包括)開始標(biāo)簽直到(且包括)結(jié)束標(biāo)簽的部分。

一個元素可以包含:

其他元素

文本

屬性

或混合以上所有...

XML元素命名規(guī)則

XML 元素必須遵循以下命名規(guī)則:

名稱可以包含字母、數(shù)字以及其他的字符

名稱不能以數(shù)字或者標(biāo)點符號開始

名稱不能以字母 xml(或者 XML、Xml 等等)開始

名稱不能包含空格

可使用任何名稱,沒有保留的字詞。

XML元素是可擴(kuò)展的

XML 的優(yōu)勢之一,就是可以在不中斷應(yīng)用程序的情況下進(jìn)行擴(kuò)展元素。

4 XML屬性

XML元素具有屬性,類似 HTML。

屬性(Attribute)提供有關(guān)元素的額外信息,屬性通常提供不屬于數(shù)據(jù)組成部分的信息。

XML屬性值必須加引號,單引號、雙引號都可以。

屬性 VS 元素

沒有什么規(guī)矩可以告訴我們什么時候該使用屬性,而什么時候該使用元素。我的經(jīng)驗是在 HTML 中,屬性用起來很便利,但是在 XML 中,您應(yīng)該盡量避免使用屬性。如果信息感覺起來很像數(shù)據(jù),那么請使用元素吧。


Anna
Smith



female
Anna
Smith

屬性有如下限制:

屬性不能包含多個值(元素可以)

屬性不能包含樹結(jié)構(gòu)(元素可以)

屬性不容易擴(kuò)展(為未來的變化)

屬性難以閱讀和維護(hù)。請盡量使用元素來描述數(shù)據(jù),而僅僅使用屬性來提供與數(shù)據(jù)無關(guān)的信息。

針對元數(shù)據(jù)的XML屬性

有時候會向元素分配 ID 引用。這些 ID 索引可用于標(biāo)識 XML 元素,它起作用的方式與 HTML 中 id 屬性是一樣的。這個實例向我們演示了這種情況:



Tove
Jani
Reminder
Don"t forget me this weekend!


Jani
Tove
Re: Reminder
I will not

上面的 id 屬性僅僅是一個標(biāo)識符,用于標(biāo)識不同的便簽。它并不是便簽數(shù)據(jù)的組成部分。

在此我們極力向您傳遞的理念是:元數(shù)據(jù)(有關(guān)數(shù)據(jù)的數(shù)據(jù))應(yīng)當(dāng)存儲為屬性,而數(shù)據(jù)本身應(yīng)當(dāng)存儲為元素。

5 XML驗證

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

有兩種方式可以驗證XML文件:XML DTD, XML Schema。

XML錯誤會終止您的程序

XML文檔中的錯誤會終止您的 XML 應(yīng)用程序。

W3C的XML規(guī)范聲明:如果XML文檔存在錯誤,那么程序就不應(yīng)當(dāng)繼續(xù)處理這個文檔。理由是,XML軟件應(yīng)當(dāng)輕巧,快速,具有良好的兼容性。

XML DTD

DTD(文檔類型定義)的作用是定義XML文檔的合法構(gòu)建模塊。

通過 DTD,您的每一個 XML 文件均可攜帶一個有關(guān)其自身格式的描述。

通過 DTD,獨立的團(tuán)體可一致地使用某個標(biāo)準(zhǔn)的 DTD 來交換數(shù)據(jù)。

而您的應(yīng)用程序也可使用某個標(biāo)準(zhǔn)的 DTD 來驗證從外部接收到的數(shù)據(jù)。

您還可以使用 DTD 來驗證您自身的數(shù)據(jù)。

DTD 可被成行地聲明于 XML 文檔中,也可作為一個外部引用。

內(nèi)部文檔聲明

假如 DTD 被包含在您的 XML 源文件中,它應(yīng)當(dāng)通過下面的語法包裝在一個 DOCTYPE 聲明中:


帶有DTD的XML文檔實例:







]>

Tove
Jani
Reminder
Don"t forget me this weekend

以上 DTD 解釋如下:

!DOCTYPE note (第二行)定義此文檔是 note 類型的文檔。
!ELEMENT note (第三行)定義 note 元素有四個元素:"to、from、heading,、body"
!ELEMENT to (第四行)定義 to 元素為 "#PCDATA" 類型
!ELEMENT from (第五行)定義 from 元素為 "#PCDATA" 類型
!ELEMENT heading (第六行)定義 heading 元素為 "#PCDATA" 類型
!ELEMENT body (第七行)定義 body 元素為 "#PCDATA" 類型

外部文檔聲明

假如 DTD 位于 XML 源文件的外部,那么它應(yīng)通過下面的語法被封裝在一個 DOCTYPE 定義中:





  Tove
  Jani
  Reminder
  Don"t forget me this weekend!

這是包含 DTD 的 "note.dtd" 文件:





note: SYSTEM表示DTD文件是私有的,PUBLIC表示DTD文件是共有的。

XML Schema 6 XML顯示

在所有主流的瀏覽器中,均能夠查看原始的 XML 文件。

ML 文檔將顯示為代碼顏色化的根以及子元素。通過點擊元素左側(cè)的加號(+)或減號( - ),可以展開或收起元素的結(jié)構(gòu)。要查看原始的 XML 源(不包括 + 和 - 符號),選擇"查看頁面源代碼"或從瀏覽器菜單"查看源文件"。

XML 文檔不會攜帶有關(guān)如何顯示數(shù)據(jù)的信息。

由于 XML 標(biāo)簽由 XML 文檔的作者"發(fā)明",瀏覽器無法確定像

這樣一個標(biāo)簽究竟描述一個 HTML 表格還是一個餐桌。在沒有任何有關(guān)如何顯示數(shù)據(jù)的信息的情況下,大多數(shù)的瀏覽器都會僅僅把 XML 文檔顯示為源代碼。

7 XML命名空間

XML 命名空間提供避免元素命名沖突的方法。

使用前綴來避免命名沖突

在 XML 中的命名沖突可以通過使用名稱前綴從而容易地避免。

該 XML 攜帶某個 HTML 表格和某件家具的信息:



Apples
Bananas




African Coffee Table
80
120

在上面的實例中,不會有沖突,因為兩個

元素有不同的名稱。

xmlns屬性

當(dāng)在 XML中使用前綴時,前綴的命名空間必須被定義。

命名空間是在元素的開始標(biāo)簽的 xmlns 屬性中定義的。

命名空間聲明的語法如下。xmlns:前綴="URI"。命名空間,可以在他們被使用的元素中或者在 XML 根元素中聲明:





Apples
Bananas




African Coffee Table
80
120




當(dāng)命名空間被定義在元素的開始標(biāo)簽中時,所有帶有相同前綴的子元素都會與同一個命名空間相關(guān)聯(lián)。

命名空間,可以在他們被使用的元素中或者在 XML 根元素中聲明:




Apples
Bananas




African Coffee Table
80
120


命名空間 URI 不會被解析器用于查找信息,其目的是賦予命名空間一個惟一的名稱。

默認(rèn)的命名空間

為元素定義默認(rèn)的命名空間可以讓我們省去在所有的子元素中使用前綴的工作。它的語法如下:

xmlns="namespaceURI"
這個 XML 攜帶 HTML 表格的信息:

Apples Bananas
這個XML攜帶有關(guān)一件家具的信息: African Coffee Table80120

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/110402.html

相關(guān)文章

  • SpringMVC入門筆記

    摘要:入門筆記簡介是一種基于的實現(xiàn)了設(shè)計模式的請求驅(qū)動類型的輕量級框架,是系開源項目中的一個,和配合使用。配置在中需要添加使用的和映射規(guī)則。入門較快,而掌握起來相對較難。 SpringMVC入門筆記 1. 簡介 Spring MVC是一種基于Java的實現(xiàn)了Web MVC設(shè)計模式的請求驅(qū)動類型的輕量級Web框架 ,是Spring系開源項目中的一個,和IoC配合使用。通過策略接口,Spring...

    zhaochunqi 評論0 收藏0
  • Activiti工作流從入門到入土:整合spring

    摘要:文章源碼托管歡迎一前言在上一節(jié)中,通過一個入門程序,把的環(huán)境準(zhǔn)備好了,這一節(jié),將整合,并且部署一個最簡單的流程圖。測試結(jié)果四總結(jié)這一節(jié)通過整合,繪制簡單的文件,然后成功部署了文件。 文章源碼托管:https://github.com/OUYANGSIHA...歡迎 star ?。?! 一、前言 在上一節(jié)中,通過一個入門程序,把a(bǔ)ctiviti的環(huán)境準(zhǔn)備好了,這一節(jié),將整合spring,并...

    piglei 評論0 收藏0
  • 爬蟲入門到精通-網(wǎng)頁的解析(xpath)

    摘要:起初的提出的初衷是將其作為一個通用的介于與間的語法模型。的基本使用要使用我們需要下載,在爬蟲入門到精通環(huán)境的搭建這一章也說明怎么裝,如果還沒有安裝的話,那就去下載安裝吧直接看代碼實戰(zhàn)吧。 本文章屬于爬蟲入門到精通系統(tǒng)教程第六講 在爬蟲入門到精通第五講中,我們了解了如何用正則表達(dá)式去抓取我們想要的內(nèi)容.這一章我們來學(xué)習(xí)如何更加簡單的來獲取我們想要的內(nèi)容. xpath的解釋 XPath即為...

    ispring 評論0 收藏0
  • RPC框架是啥之Apache CXF一款WebService RPC框架入門教程

    摘要:支持相關(guān)規(guī)范和標(biāo)準(zhǔn),包括同上。支持多種傳輸協(xié)議和協(xié)議綁定數(shù)據(jù)綁定。構(gòu)建端還有其服務(wù)實現(xiàn),接口使用注解,標(biāo)明是一個遠(yuǎn)程服務(wù)接口。然后編寫一個的啟動程序,并運行,我想你會成功的因為我看到了下圖是一種跨平臺的技術(shù)協(xié)議。 本博客 貓叔的博客,轉(zhuǎn)載請申明出處 學(xué)習(xí)系列 RPC框架是啥? RPC框架是啥之Java自帶RPC實現(xiàn),RMI框架入門 Apache CXF一款WebService RP...

    SolomonXie 評論0 收藏0
  • Struts2開發(fā)入門指南

    摘要:作為一個開發(fā)框架,它為我們很好的提供了一個開發(fā)模板,使用可以減輕開發(fā)人員的負(fù)擔(dān)并且可以增強(qiáng)程序的可讀性,下面我們來說說如何使用做一個小例子開發(fā)所需要的工具開發(fā)環(huán)境開發(fā)的包一個文檔模板開發(fā)開發(fā)分為以下四步完成導(dǎo)入相應(yīng)的包在文檔中配置的核 **Struts2**作為一個開發(fā)框架,它為我們很好的提供了一個開發(fā)模板,使用**Struts2**可以減輕開發(fā)人員的負(fù)擔(dān)并且可以增強(qiáng)程序的可讀性,下面...

    notebin 評論0 收藏0

發(fā)表評論

0條評論

gityuan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<