XML文件寫法
????XML一種可擴(kuò)展的標(biāo)記語言,可以用于數(shù)據(jù)的存儲,傳輸。所以XML相較于HTML就嚴(yán)格許多。小提示:XML可以在瀏覽器中直接展示出來。所以寫完之后使用瀏覽器查看文檔,如果可以顯示信息,就說明XML文件格式正確。
XML的語法
內(nèi)容來自于:黑馬程序員精講 XML 知識
1. 所有的XML必須有一個根節(jié)點(diǎn)(根節(jié)點(diǎn)標(biāo)簽可以自定義)

2. XML頭聲明(可有可無,但是建議書寫)

3. 所有的XML標(biāo)簽都必須是成對的標(biāo)簽
4.標(biāo)簽名字區(qū)分大小寫
5. 標(biāo)簽不允許交叉
6. 注釋語法(和HTML一致):<!--?xxx --> 如下圖所示
7. 特殊字體使用實(shí)體轉(zhuǎn)義:在XML中需要轉(zhuǎn)義的字符有 < ?> & ‘’ “”

? ? 一個標(biāo)簽可以有多個屬性,屬性的值必須用雙引號括起來。屬性用來表示標(biāo)簽的一些額外信息。
8. 禁止解析內(nèi)容:用法 <![CDATA[xxx]]> 括號內(nèi)的內(nèi)容不會被解析

????一個結(jié)構(gòu)化的數(shù)據(jù),應(yīng)該看作一棵樹,使用遍歷的方式去尋找數(shù)據(jù)。這里我也沒有精力去搞一個遍歷。
????其實(shí)了解XML主要是因?yàn)橐獙W(xué)習(xí)PROFINET IO。在PROFINET IO中,使用了GSDML(一種類XML文件)存儲設(shè)備的信息。但是我不明白的是,使用C語言的編程是不支持動態(tài)申明變量的。不像PHP,Python這類解釋型語言一樣,直接可以解析為dict或者list,然后得到key——value關(guān)系。C語言不支持動態(tài)聲明變量,那么上位機(jī)和下位機(jī),都需要一個一模一樣的模板來存儲數(shù)據(jù)。所以既然已知所有變量的情況下,為什么和PROFIBUS一樣使用Key——Value來進(jìn)行存儲呢?還是說,只是為了保留數(shù)據(jù)的所屬關(guān)系才使用XML的呢?emmm仔細(xì)想想,定義的結(jié)構(gòu)體有層次感,根據(jù)參數(shù)的分類,好像確實(shí)對開發(fā)更友好,起碼用參數(shù)的時候,可以根據(jù)父類信息來看自己用的參數(shù)對不對,判斷有沒有用了一個長得差不多的野生參數(shù)。
????那就這樣子吧,簡單的記錄一下XML文件寫法。