日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

【XML】XML语法格式提要

發(fā)布時間:2025/3/15 asp.net 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【XML】XML语法格式提要 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

XML語法規(guī)則綱要

  • XML文檔必須有且只有一個根元素
  • XML元素都必須有一個關(guān)閉標(biāo)簽
  • XML標(biāo)簽對大小寫敏感
  • XML元素必須被正確的嵌套
  • XML屬性值必須加引號

XML文檔必須有且只有一個根元素

對于下面的XML文檔

<?xml version="1.0" encoding="UTF-8" ?> <SALES><ORDER><ORDERITEM><PRODUCT><CODE>A001</CODE><DESCRIPTION>Almond Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A002</CODE><DESCRIPTION>Irish Creme Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>5</QUANTITY></ORDERITEM></ORDER><ORDER><ORDERITEM><PRODUCT><CODE>A001</CODE><DESCRIPTION>Almond Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>1</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A004</CODE><DESCRIPTION>Caramel Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>2</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A006</CODE><DESCRIPTION>Gourmet Coffee Travel Thermo</DESCRIPTION><PRICE>18.0</PRICE></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM></ORDER><ORDER><ORDERITEM><PRODUCT><CODE>A009</CODE><DESCRIPTION>Gourmet Coffee 36 Cup Filters</DESCRIPTION><PRICE>45.0</PRICE></PRODUCT><QUANTITY>100</QUANTITY></ORDERITEM></ORDER> </SALES>

刪去根元素<SALES>:

<?xml version="1.0" encoding="UTF-8" ?> <ORDER><ORDERITEM><PRODUCT><CODE>A001</CODE><DESCRIPTION>Almond Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A002</CODE><DESCRIPTION>Irish Creme Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>5</QUANTITY></ORDERITEM> </ORDER> <ORDER><ORDERITEM><PRODUCT><CODE>A001</CODE><DESCRIPTION>Almond Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>1</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A004</CODE><DESCRIPTION>Caramel Flavored Syrup</DESCRIPTION><PRICE>9.0</PRICE></PRODUCT><QUANTITY>2</QUANTITY></ORDERITEM><ORDERITEM><PRODUCT><CODE>A006</CODE><DESCRIPTION>Gourmet Coffee Travel Thermo</DESCRIPTION><PRICE>18.0</PRICE></PRODUCT><QUANTITY>3</QUANTITY></ORDERITEM> </ORDER> <ORDER><ORDERITEM><PRODUCT><CODE>A009</CODE><DESCRIPTION>Gourmet Coffee 36 Cup Filters</DESCRIPTION><PRICE>45.0</PRICE></PRODUCT><QUANTITY>100</QUANTITY></ORDERITEM> </ORDER>

就會解析錯誤:

錯因在第20行的<ORDER>上,也就是說,新的XML文檔在被瀏覽器解析的時候默認(rèn)了<ORDER>是根元素,而第一次<\ORDER>出現(xiàn)的時候,意味著整個XML文檔的結(jié)束,后面仍有<ORDER>就不合法,XML文檔樹可不是森林,必須單根。

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

這個關(guān)閉標(biāo)簽啊,在HTML中經(jīng)常有不寫關(guān)閉標(biāo)簽的情況而并不會解析錯誤。
即使是HTML5,也被迫向某些陋習(xí)妥協(xié)了,比如<p>等等

但是XML語法要求嚴(yán)格,標(biāo)簽必須被關(guān)閉。

如果我們刪去上面代碼最后一行的<\SALES>,就會解析錯誤:

當(dāng)然了,我們這時以根元素舉的例子,錯誤原因來自于文檔解析到結(jié)尾仍沒出現(xiàn)根元素<SALES>的關(guān)閉標(biāo)簽<\SALES>,這是不被允許的。

事實(shí)上,任何XML元素都是如此。

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

一般的編程語言都對大小寫敏感,像 Visual Basic 系列這種不管大小寫的真是奇葩……

XML雖不是編程語言,但也對大小寫敏感。

怎么說敏感呢?
就是說<SALES>與<sales>是完全不同的標(biāo)簽。

我們將上面代碼的最后一行的<\SALES>換成<\sales>:

顯示解析錯誤:

再換成<HHH>,看看解析情況:

都是“非配對的標(biāo)簽”,其實(shí)人家都沒管你是不是大小寫問題,直接就是認(rèn)為反正你不是<\SALES>就是不對。

所以要注意大小寫啊!!!

XML元素必須被正確的嵌套

這個問題是說,比如我們<SALES>嵌套了<ORDER>,收尾順序就得是先<\ORDER>后<\SALES>,有棧的意味。

如果膽敢出現(xiàn)FIFO隊(duì)列式的先<\SALES>后<\ORDER>,就算嵌套錯誤,導(dǎo)致解析錯誤。

XML屬性值必須加引號

有關(guān)屬性的問題我在這篇文章中已經(jīng)講過很詳細(xì)了,就不再細(xì)說。

必須注意的一點(diǎn)是:XML屬性值必須加引號。

XML屬性其實(shí)換成JSON顯得更直白,就和Python的字典一個樣子,key:value式的KV對,只不過這個value不管是什么值,都必須加引號,就比如下面的例子:

<PRODUCT id="202003010001">

不能寫成下面的樣子:

<PRODUCT id=202003010001>

XML不管屬性值是不是數(shù)值,反正必須加引號!!!

總結(jié)

以上是生活随笔為你收集整理的【XML】XML语法格式提要的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。