摘要:的設(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)中定義過(比如
HTML 中使用的標(biāo)簽都是預(yù)定義的。HTML 文檔只能使用在 HTML 標(biāo)準(zhǔn)中定義過的標(biāo)簽(如
、
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)簽對大小寫敏感。標(biāo)簽
與 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 中編寫注釋的語法與 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 DTDDTD(文檔類型定義)的作用是定義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ā)明",瀏覽器無法確定像
Apples | Bananas |
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/110402.html
摘要:入門筆記簡介是一種基于的實現(xiàn)了設(shè)計模式的請求驅(qū)動類型的輕量級框架,是系開源項目中的一個,和配合使用。配置在中需要添加使用的和映射規(guī)則。入門較快,而掌握起來相對較難。 SpringMVC入門筆記 1. 簡介 Spring MVC是一種基于Java的實現(xiàn)了Web MVC設(shè)計模式的請求驅(qū)動類型的輕量級Web框架 ,是Spring系開源項目中的一個,和IoC配合使用。通過策略接口,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,并...
摘要:起初的提出的初衷是將其作為一個通用的介于與間的語法模型。的基本使用要使用我們需要下載,在爬蟲入門到精通環(huán)境的搭建這一章也說明怎么裝,如果還沒有安裝的話,那就去下載安裝吧直接看代碼實戰(zhàn)吧。 本文章屬于爬蟲入門到精通系統(tǒng)教程第六講 在爬蟲入門到精通第五講中,我們了解了如何用正則表達(dá)式去抓取我們想要的內(nèi)容.這一章我們來學(xué)習(xí)如何更加簡單的來獲取我們想要的內(nèi)容. xpath的解釋 XPath即為...
摘要:支持相關(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...
摘要:作為一個開發(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)程序的可讀性,下面...
閱讀 3467·2023-04-25 23:25
閱讀 2111·2021-11-12 10:36
閱讀 2825·2019-08-30 12:47
閱讀 2049·2019-08-29 18:45
閱讀 447·2019-08-29 17:28
閱讀 1792·2019-08-29 17:15
閱讀 1717·2019-08-29 16:05
閱讀 1419·2019-08-29 14:17