XMPP(一)XML

XML

XML 被設(shè)計(jì)用來傳輸和存儲(chǔ)數(shù)據(jù)获印。
HTML 被設(shè)計(jì)用來顯示數(shù)據(jù)喂链。

什么是XML

  • XML 指可擴(kuò)展標(biāo)記語言(EXtensible Markup Language)趾盐。
  • XML 是一種很像HTML的標(biāo)記語言艰垂。
  • XML 的設(shè)計(jì)宗旨是傳輸數(shù)據(jù)蹲蒲,而不是顯示數(shù)據(jù)。
  • XML 標(biāo)簽沒有被預(yù)定義索赏。您需要自行定義標(biāo)簽盼玄。
  • XML 被設(shè)計(jì)為具有自我描述性。
  • XML 是 W3C 的推薦標(biāo)準(zhǔn)潜腻。

XML的樹形結(jié)構(gòu)

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

        <?xml version="1.0" encoding="ISO-8859-1"?>
        <note>
        <to>Tove</to>
        <from>Jani</from>
        <heading>Reminder</heading>
        <body>Don't forget me this weekend!</body>
        </note>
  • 第一行是 XML 聲明埃儿。它定義 XML 的版本(1.0)和所使用的編碼(ISO-8859-1 = Latin-1/西歐字符集)。

  • 下一行描述文檔的根元素(像在說:"本文檔是一個(gè)便簽"):

      <note>
    
  • 接下來 4 行描述根的 4 個(gè)子元素(to, from, heading 以及 body):

  • 最后一行定義根元素的結(jié)尾:

      </note>
    

總結(jié):

  • XML 文檔必須包含根元素融涣。該元素是所有其他元素的父元素童番。

  • 所有的元素都可以有文本內(nèi)容和屬性(類似 HTML 中)。

      <title lang="en">Harry Potter</title>
    

    節(jié)點(diǎn)元素名 title 他有一個(gè)屬性 lang = en

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

      <to>Tove</to>
    

    標(biāo)簽名是 <to> 那么關(guān)閉標(biāo)簽就是 </to>

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

  • XML 屬性值必須加引號(hào)

  • 在 XML 中威鹿,空格會(huì)被保留

  • XML 以 LF 存儲(chǔ)換行

  • XML 中的注釋

  • 實(shí)體引用

      在 XML 中剃斧,一些字符擁有特殊的意義。
      如果您把字符 "<" 放在 XML 元素中专普,會(huì)發(fā)生錯(cuò)誤悯衬,這是因?yàn)榻馕銎鲿?huì)把它當(dāng)作新元素的開始。
      這樣會(huì)產(chǎn)生 XML 錯(cuò)誤:
      <message>if salary < 1000 then</message>
      為了避免這個(gè)錯(cuò)誤檀夹,請(qǐng)用實(shí)體引用來代替 "<" 字符:
    
      
      &lt;    <   less than
      &gt;    >   greater than
      &amp;   &   ampersand
      &apos;  '   apostrophe
      &quot;  "   quotation mark
    

XML 命名規(guī)則

  • 名稱可以包含字母、數(shù)字以及其他的字符
  • 名稱不能以數(shù)字或者標(biāo)點(diǎn)符號(hào)開始
  • 名稱不能以字母 xml(或者 XML策橘、Xml 等等)開始
  • 名稱不能包含空格

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

屬性

屬性(Attribute)提供有關(guān)元素的額外信息丽已。

屬性通常提供不屬于數(shù)據(jù)組成部分的信息蚌堵。在下面的實(shí)例中,文件類型與數(shù)據(jù)無關(guān)沛婴,但是對(duì)需要處理這個(gè)元素的軟件來說卻很重要:

<file type="gif">computer.gif</file>

避免 XML 屬性

  • 屬性不能包含多個(gè)值(元素可以)
  • 屬性不能包含樹結(jié)構(gòu)(元素可以)
  • 屬性不容易擴(kuò)展(為未來的變化)
  • 屬性難以閱讀和維護(hù)吼畏。請(qǐng)盡量使用元素來描述數(shù)據(jù)。而僅僅使用屬性來提供與數(shù)據(jù)無關(guān)的信息嘁灯。

XML 命名空間 - xmlns 屬性

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

當(dāng)在 XML 中使用前綴時(shí),一個(gè)所謂的用于前綴的命名空間必須被定義丑婿。
命名空間是在元素的開始標(biāo)簽的 xmlns 屬性中定義的性雄。
命名空間聲明的語法如下没卸。xmlns:前綴="URI"。

<root>

<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table xmlns:f="http://www.w3cschool.cc/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>

在上面的實(shí)例中秒旋,<table> 標(biāo)簽的 xmlns 屬性定義了 h: 和 f: 前綴的合格命名空間约计。
當(dāng)命名空間被定義在元素的開始標(biāo)簽中時(shí),所有帶有相同前綴的子元素都會(huì)與同一個(gè)命名空間相關(guān)聯(lián)迁筛。
命名空間煤蚌,可以在他們被使用的元素中或者在 XML 根元素中聲明:

<root xmlns:h="http://www.w3.org/TR/html4/"
xmlns:f="http://www.w3cschool.cc/furniture">

<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>

<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

</root>     

注意

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

統(tǒng)一資源標(biāo)識(shí)符(URI)是一串可以標(biāo)識(shí)因特網(wǎng)資源的字符细卧。
最常用的 URI 是用來標(biāo)識(shí)因特網(wǎng)域名地址的統(tǒng)一資源定位器(URL)铺然。另一個(gè)不那么常用的 URI 是統(tǒng)一資源命名(URN)。
在我們的實(shí)例中酒甸,我們僅使用 URL魄健。

XML解析

  • PCDATA - 被解析的字符數(shù)據(jù)
  • CDATA - (未解析)字符數(shù)據(jù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市插勤,隨后出現(xiàn)的幾起案子沽瘦,更是在濱河造成了極大的恐慌,老刑警劉巖农尖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件析恋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡盛卡,警方通過查閱死者的電腦和手機(jī)助隧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滑沧,“玉大人并村,你說我怎么就攤上這事∽壹迹” “怎么了哩牍?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)令漂。 經(jīng)常有香客問我膝昆,道長(zhǎng),這世上最難降的妖魔是什么叠必? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任荚孵,我火速辦了婚禮,結(jié)果婚禮上纬朝,老公的妹妹穿的比我還像新娘收叶。我一直安慰自己,他們只是感情好玄组,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布滔驾。 她就那樣靜靜地躺著谒麦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪哆致。 梳的紋絲不亂的頭發(fā)上绕德,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音摊阀,去河邊找鬼耻蛇。 笑死,一個(gè)胖子當(dāng)著我的面吹牛胞此,可吹牛的內(nèi)容都是我干的臣咖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼漱牵,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼夺蛇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起酣胀,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤刁赦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后闻镶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體甚脉,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年铆农,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了牺氨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡墩剖,死狀恐怖猴凹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涛碑,我是刑警寧澤精堕,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站蒲障,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏瘫证。R本人自食惡果不足惜揉阎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望背捌。 院中可真熱鬧毙籽,春花似錦、人聲如沸毡庆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至毅否,卻和暖如春亚铁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背螟加。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國打工徘溢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人捆探。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓然爆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親黍图。 傳聞我的和親對(duì)象是個(gè)殘疾皇子曾雕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)助被,斷路器剖张,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • 1. XML簡(jiǎn)介 以下內(nèi)容來自于http://www.w3school.com.cn/xml 基本知識(shí) XML 和...
    WebSSO閱讀 1,911評(píng)論 1 7
  • HTML標(biāo)簽解釋大全 一、HTML標(biāo)記 標(biāo)簽:!DOCTYPE 說明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,240評(píng)論 1 41
  • 經(jīng)過兩天的奮戰(zhàn)恰起,終于把xml簡(jiǎn)略的過了一遍修械。 1.1XML介紹 xml是Extensible Markup lan...
    Ystrator閱讀 814評(píng)論 0 2
  • 2016.12.20是我陪伴你的第九年,每年的這一天都很特別检盼,因?yàn)槟憧衔邸C刻於挤粗P(guān)于你的所有消息,每天都盼著能早...
    天才瘋子閱讀 160評(píng)論 0 0