2012年11月1日 星期四

CDATA 區段 - XML 標準

XML 對於許多人都不陌生,但還是有些地方大家不知道該如何使用,例如現在所要介紹的 CDATA 區段。

在某些時候內容中含有 HTML 標籤或者是一些特殊字元﹙如﹕<、>、&﹚,當這些字元出現在內容裡,通常都會出現 XML 分析錯誤的情況,這時候就必須將這些字元作些轉換的工作(如︰< / &lt;、> / &gt;、& / &amp;)。

其實並不需要如此,CDATA 區段提供了一種通知剖析器的方法,說明 CDATA 區段所包含的字元沒有標記。

當 XML 剖析器遇到開頭的『<![CDATA[』,會將接下來的內容報告成字元,而不會嘗試將其解譯成項目或實體標籤。字元參考不能在 CDATA 區段內運作。當它遇到結尾的『]]>』時,剖析器會停止報告並回到正常的剖析,這也能使用在 HTML 文件中。使用方法為︰ 
  1. <![CDATA[這裡面內容包含了 <font size="3">HTML 標籤</font>,以前一些特殊字元 & 所以要使用 CDATA 區段包起來]]>  

以下面商品資料文件 PDI0120080331195202.xml 為範例,其中 PDI01DOC.DocContent.Item.ProductUrl 為商品頁面的網址,內容包含了 & 字元;PDI01DOC.DocContent.Item.ProductDesc 為商品說明,內容包含了大量 HTML 標籤。所以這兩個內容我們都用使用了 CDATA 區段包起來,如此 XML 剖析器就能正常剖析了。 

沒有留言:

張貼留言