文章詳情頁(yè)
XML 非法字符(轉(zhuǎn)義字符)
瀏覽:93日期:2022-06-04 13:34:42
如往常一樣,
客戶發(fā)給我一個(gè)xml文件,
用來(lái)更新數(shù)碼課堂日程安排——是一個(gè)js讀取xml文件達(dá)到鼠標(biāo)經(jīng)過(guò)日歷顯示每日課程安排的效果,有類于Ajax數(shù)據(jù)讀取(只不過(guò)數(shù)據(jù)是完全靜態(tài)更新)的腳本程序
由于是兩方來(lái)完成整個(gè)日程更新(客戶把制作頁(yè)面和更新網(wǎng)站分開(kāi)),
給我的xml文件總是有問(wèn)題,
由于經(jīng)常做,知道制作方在html代碼水平上還是比較初級(jí),
所以每次更新前總要對(duì)他們給的文件校正,
果然還是有問(wèn)題,
如往常一樣,我檢查文件內(nèi)容的每個(gè)標(biāo)簽是否完整,
檢查出一處錯(cuò)誤,感覺(jué)應(yīng)該OK了,
可是頁(yè)面還是顯示讀取xml數(shù)據(jù)失敗,
我又從頭到尾挨個(gè)檢查標(biāo)簽(文件還挺長(zhǎng),我好可憐啊,嗚嗚~~~),
居然沒(méi)有發(fā)現(xiàn)什么錯(cuò)誤,哎,眼花,郁悶~~~,
無(wú)奈之下,只好將代碼拷出來(lái),
再挨個(gè)拷進(jìn)去,邊拷邊刷新頁(yè)面預(yù)覽效果,
來(lái)回好幾回,終于發(fā)現(xiàn)有好幾處代碼都有問(wèn)題,
語(yǔ)法上好像沒(méi)什么錯(cuò)誤~~~,標(biāo)簽完整~~,
突然發(fā)現(xiàn)在內(nèi)容里都有“&“,可惡,
總盯著標(biāo)簽查半天,忘了可能是內(nèi)容里的字符沖突,
替換一下,果然好了,
為了詳細(xì)理解,我上 w3school 查了一下:
轉(zhuǎn)義字符
非法的 XML 字符必須被替換為實(shí)體引用(entity reference)。
在 XML 中有 5 個(gè)預(yù)定義的實(shí)體引用:
< < 小于
> > 大于
& & 和號(hào)
' " 省略號(hào)
" " 引號(hào)
注釋:嚴(yán)格地講,在 XML 中僅有字符 "<"和"&" 是非法的。省略號(hào)、引號(hào)和大于號(hào)是合法的,但是把它們替換為實(shí)體引用是個(gè)好的習(xí)慣。
原來(lái)如此,真相大白,
只能怪自己倒霉,也怪自己對(duì)XML了解不夠
客戶發(fā)給我一個(gè)xml文件,
用來(lái)更新數(shù)碼課堂日程安排——是一個(gè)js讀取xml文件達(dá)到鼠標(biāo)經(jīng)過(guò)日歷顯示每日課程安排的效果,有類于Ajax數(shù)據(jù)讀取(只不過(guò)數(shù)據(jù)是完全靜態(tài)更新)的腳本程序
由于是兩方來(lái)完成整個(gè)日程更新(客戶把制作頁(yè)面和更新網(wǎng)站分開(kāi)),
給我的xml文件總是有問(wèn)題,
由于經(jīng)常做,知道制作方在html代碼水平上還是比較初級(jí),
所以每次更新前總要對(duì)他們給的文件校正,
果然還是有問(wèn)題,
如往常一樣,我檢查文件內(nèi)容的每個(gè)標(biāo)簽是否完整,
檢查出一處錯(cuò)誤,感覺(jué)應(yīng)該OK了,
可是頁(yè)面還是顯示讀取xml數(shù)據(jù)失敗,
我又從頭到尾挨個(gè)檢查標(biāo)簽(文件還挺長(zhǎng),我好可憐啊,嗚嗚~~~),
居然沒(méi)有發(fā)現(xiàn)什么錯(cuò)誤,哎,眼花,郁悶~~~,
無(wú)奈之下,只好將代碼拷出來(lái),
再挨個(gè)拷進(jìn)去,邊拷邊刷新頁(yè)面預(yù)覽效果,
來(lái)回好幾回,終于發(fā)現(xiàn)有好幾處代碼都有問(wèn)題,
語(yǔ)法上好像沒(méi)什么錯(cuò)誤~~~,標(biāo)簽完整~~,
突然發(fā)現(xiàn)在內(nèi)容里都有“&“,可惡,
總盯著標(biāo)簽查半天,忘了可能是內(nèi)容里的字符沖突,
替換一下,果然好了,
為了詳細(xì)理解,我上 w3school 查了一下:
轉(zhuǎn)義字符
非法的 XML 字符必須被替換為實(shí)體引用(entity reference)。
在 XML 中有 5 個(gè)預(yù)定義的實(shí)體引用:
< < 小于
> > 大于
& & 和號(hào)
' " 省略號(hào)
" " 引號(hào)
注釋:嚴(yán)格地講,在 XML 中僅有字符 "<"和"&" 是非法的。省略號(hào)、引號(hào)和大于號(hào)是合法的,但是把它們替換為實(shí)體引用是個(gè)好的習(xí)慣。
原來(lái)如此,真相大白,
只能怪自己倒霉,也怪自己對(duì)XML了解不夠
標(biāo)簽:
XML/RSS
相關(guān)文章:
1. Python如何對(duì)XML 解析2. AndroidStudio 3.6 中 R.layout 找不到對(duì)應(yīng)的xml文件問(wèn)題及解決方法3. JS跨瀏覽器解析XML應(yīng)用過(guò)程詳解4. XML入門的常見(jiàn)問(wèn)題(一)5. 不同瀏覽器對(duì)XML的解析是不同的6. Python使用ElementTree美化XML格式的操作7. 一個(gè)用xslt樣式將xml解析為xhtml的類TransformBinder(兼容FF和IE7.0)8. XML輕松學(xué)習(xí)手冊(cè)(一):XML快速入門9. 使用PHP DOM-XML創(chuàng)建和解析XML文件10. python對(duì)XML文件的操作實(shí)現(xiàn)代碼
排行榜
