xml特殊字符
2008-07-03 14:31
轉(zhuǎn)義字符
不合法的XML字符必須被替換為相應(yīng)的實(shí)體。 如果在XML文檔中使用類似"<" 的字符, 那么解析器將會(huì)出現(xiàn)錯(cuò)誤,因?yàn)榻馕銎鲿?huì)認(rèn)為這是一個(gè)新元素的開(kāi)始。所以不應(yīng)該象下面那樣書(shū)寫(xiě)代碼: <message>if salary < 1000 then</message> 為了避免出現(xiàn)這種情況,必須將字符"<" 轉(zhuǎn)換成實(shí)體,象下面這樣: <message>if salary < 1000 then</message> 下面是五個(gè)在XML文檔中預(yù)定義好的實(shí)體: < < 小于號(hào) > > 大于號(hào) & & 和 ' ' 單引號(hào) " " 雙引號(hào) 實(shí)體必須以符號(hào)"&"開(kāi)頭,以符號(hào)";"結(jié)尾。 注意: 只有"<" 字符和"&"字符對(duì)于XML來(lái)說(shuō)是嚴(yán)格禁止使用的。剩下的都是合法的,為了減少出錯(cuò),使用實(shí)體是一個(gè)好習(xí)慣。 CDATA部件 在CDATA內(nèi)部的所有內(nèi)容都會(huì)被解析器忽略。 如果文本包含了很多的"<"字符和"&"字符——就象程序代碼一樣,那么最好把他們都放到CDATA部件中。 一個(gè) CDATA 部件以"<![CDATA[" 標(biāo)記開(kāi)始,以"]]>"標(biāo)記結(jié)束: <script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </script> 在前面的例子中,所有在CDATA部件之間的文本都會(huì)被解析器忽略。 CDATA注意事項(xiàng): CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,將很有可能出錯(cuò)哦。 同樣要注意在字符串"]]>"之間沒(méi)有空格或者換行符。 |