国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

XML入門(mén)

gityuan / 3025人閱讀

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

1 XML簡(jiǎn)介 什么是XML?

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

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

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

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

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

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

XML不會(huì)做任何事情

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


Tove
Jani
Reminder
Don"t forget me this weekend!

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

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

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

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

2 XML語(yǔ)法

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

一個(gè)XML文檔實(shí)例

XML文檔使用簡(jiǎn)單的具有自我描述性的語(yǔ)法:



Tove
Jani
Reminder
Don"t forget me this weekend!

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

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

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

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

XML 聲明

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

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

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

note:
這個(gè)關(guān)閉標(biāo)簽的一種簡(jiǎn)寫(xiě)

XML 標(biāo)簽對(duì)大小寫(xiě)敏感

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

XML 必須正確嵌套 XML 屬性值必須加引號(hào)

與 HTML 類(lèi)似,XML 元素也可擁有屬性(名稱(chēng)/值的對(duì))。在 XML 中,XML 的屬性值必須加引號(hào)。

錯(cuò)誤:

Tove
Jani


正確

Tove
Jani
實(shí)體引用

在 XML 中,一些字符擁有特殊的意義。如果您把字符 "<" 放在 XML 元素中,會(huì)發(fā)生錯(cuò)誤,這是因?yàn)榻馕銎鲿?huì)把它當(dāng)作新元素的開(kāi)始。

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

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

在 XML 中編寫(xiě)注釋的語(yǔ)法與 HTML 的語(yǔ)法很相似。

在 XML 中,空格會(huì)被保留 XML 以 LF 存儲(chǔ)換行 3 XML元素 什么是XML元素?

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

一個(gè)元素可以包含:

其他元素

文本

屬性

或混合以上所有...

XML元素命名規(guī)則

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

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

名稱(chēng)不能以數(shù)字或者標(biāo)點(diǎn)符號(hào)開(kāi)始

名稱(chēng)不能以字母 xml(或者 XML、Xml 等等)開(kāi)始

名稱(chēng)不能包含空格

可使用任何名稱(chēng),沒(méi)有保留的字詞。

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

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

4 XML屬性

XML元素具有屬性,類(lèi)似 HTML。

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

XML屬性值必須加引號(hào),單引號(hào)、雙引號(hào)都可以。

屬性 VS 元素

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


Anna
Smith



female
Anna
Smith

屬性有如下限制:

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

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

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

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

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

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



Tove
Jani
Reminder
Don"t forget me this weekend!


Jani
Tove
Re: Reminder
I will not

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

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

5 XML驗(yàn)證

擁有正確語(yǔ)法的XML被稱(chēng)為"形式良好"的XML。

有兩種方式可以驗(yàn)證XML文件:XML DTD, XML Schema。

XML錯(cuò)誤會(huì)終止您的程序

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

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

XML DTD

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

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

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

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

您還可以使用 DTD 來(lái)驗(yàn)證您自身的數(shù)據(jù)。

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

內(nèi)部文檔聲明

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


帶有DTD的XML文檔實(shí)例:







]>

Tove
Jani
Reminder
Don"t forget me this weekend

以上 DTD 解釋如下:

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

外部文檔聲明

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





  Tove
  Jani
  Reminder
  Don"t forget me this weekend!

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





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

XML Schema 6 XML顯示

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

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

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

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

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

7 XML命名空間

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

使用前綴來(lái)避免命名沖突

在 XML 中的命名沖突可以通過(guò)使用名稱(chēng)前綴從而容易地避免。

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



Apples
Bananas




African Coffee Table
80
120

在上面的實(shí)例中,不會(huì)有沖突,因?yàn)閮蓚€(gè)

元素有不同的名稱(chēng)。

xmlns屬性

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

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

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





Apples
Bananas




African Coffee Table
80
120




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

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




Apples
Bananas




African Coffee Table
80
120


命名空間 URI 不會(huì)被解析器用于查找信息,其目的是賦予命名空間一個(gè)惟一的名稱(chēng)

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

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

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

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

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/110402.html

相關(guān)文章

  • SpringMVC入門(mén)筆記

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

    zhaochunqi 評(píng)論0 收藏0
  • Activiti工作流從入門(mén)到入土:整合spring

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

    piglei 評(píng)論0 收藏0
  • 爬蟲(chóng)入門(mén)到精通-網(wǎng)頁(yè)的解析(xpath)

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

    ispring 評(píng)論0 收藏0
  • RPC框架是啥之Apache CXF一款WebService RPC框架入門(mén)教程

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

    SolomonXie 評(píng)論0 收藏0
  • Struts2開(kāi)發(fā)入門(mén)指南

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

    notebin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

gityuan

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<