2009/2/10 21:03 | 閱讀數 : 9190 我要推薦 | 2 Comments | 文章分類 : XML 訂閱

XML特殊字元”&” 或是其他XML所不允許的字元

註記一下,這一篇的Solution主要是針對ASP,在ASP.NET是不需要這麼做


CDATA:
   在XML文件中很可能會出現一段需要傳送的文字,程式或是二進位資料為了保留原始的資料格式可利用CDATA這個元素。而包在CDATA裡的資料,解讀程式是不會對他作任何處理


語法:
   <![CDATA[ 裡面放你有特殊字元的tag ]]>

 

現在有很多專案的flash都會使用XML來當做資料來源

一般正確的作法,程式輸出XML的文字字段都會做 Encode ,以確保 XML 不允許字元的出現

然後再請 flash設計師於AS程式中再將Encode的字段轉碼

不過.... 哪是理想狀況

有時Flash設計師會不想作,那麼就用這個方法,將預期可能會出現亂七八糟字元的部份用 <![CDATA[ xxxx ]]> 給包起來

這樣在 <![CDATA[ xxxx ]]> 裡的字段就不會去做任何的處理

 

話說回來....會這樣做,就是有太多人喜歡輸入一堆無聊的字、表情符號等

而程式設計的立場,就是必須要確保輸出的結果是正確、可讀

 

分享


回應

  1. # re: XML特殊字元”&” 或是其他XML所不允許的字元 小聰頭
    2009/2/11 上午 10:53

    通常 XML Parser 會自動幫你做 escape/unescape,除非把 XML 當成文字處理要不然應該不用考慮這個問題。

  2. # re: XML特殊字元”&” 或是其他XML所不允許的字元 mrkt
    2009/2/11 下午 01:23

    就是因為XML Parser會去做解讀的動作,所以遇到特殊字元一定要顯示或是讓Flash可以正常讀取並且顯示,所以才會用這方法
    「為了保留原始的資料格式.....解讀程式是不會..作任何處理」

登入後使用進階評論
Please add 1 and 2 and type the answer here: