• XML指南——XML CDATA


    在XML文檔中的所有文本都會被解析器解析。

    只有在CDATA部件之內的文本會被解析器忽略。


    解析數據

    XML 解析器通常情況下會處理XML文檔中的所有文本。

    當XML元素被解析的時候,XML元素內部的文本也會被解析:

    <message>This text is also parsed</message>

    XML解析器這樣做的原因是XML元素內部可能還包含了別的元素,像下面的例子,name元素內部包含了first和last兩個元素:

    <name><first>Bill</first><last>Gates</last></name>

    解析器會認為上面的代碼是這樣的:

    <name>
                <first>Bill</first>
                <last>Gates</last>
                </name>


    轉義字符

    不合法的XML字符必須被替換為相應的實體。

    如果在XML文檔中使用類似"<" 的字符, 那麼解析器將會出現錯誤,因為解析器會認為這是一個新元素的開始。所以不應該像下面那樣書寫代碼:

    <message>if salary < 1000 then</message>

    為了避免出現這種情況,必須將字符"<" 轉換成實體,像下面這樣:

    <message>if salary &lt; 1000 then</message>

    下面是五個在XML文檔中預定義好的實體:

    &lt; < 小於號
    &gt; > 大於號
    &amp; &
    &apos; ' 單引號
    &quot; " 雙引號

    實體必須以符號"&"開頭,以符號";"結尾。

    注意: 只有"<" 字符和"&"字符對於XML來說是嚴格禁止使用的。剩下的都是合法的,為了減少出錯,使用實體是一個好習慣。


    CDATA部件

    在CDATA內部的所有內容都會被解析器忽略。

    如果文本包含了很多的"<"字符和"&"字符——就像程序代碼一樣,那麼最好把他們都放到CDATA部件中。

    一個 CDATA 部件以"<![CDATA[" 標記開始,以"]]>"標記結束:

    <script>
                <![CDATA[
                function matchwo(a,b)
                {
                if (a < b && a < 0) then
                {
                return 1
                }
                else
                {
                return 0
                }
                }
                ]]>
                </script>

    在前面的例子中,所有在CDATA部件之間的文本都會被解析器忽略。

    CDATA注意事項:

    CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,將很有可能出錯哦。

    同樣要注意在字符串"]]>"之間沒有空格或者換行符。

    申明

    非源创博文中的内容均收集自网上,若有侵权之处,请及时联络,我会在第一时间内删除.再次说声抱歉!!!

    博文欢迎转载,但请给出原文连接。

  • 相关阅读:
    枚举类 --单例模式
    模板设计模式
    动态代理
    反射应用--修改属性值
    通过反射绕过泛型
    java反射
    网络编程练习
    TCP编程
    GUI 聊天界面
    UDP传输多线程
  • 原文地址:https://www.cnblogs.com/Athrun/p/1178869.html
Copyright © 2020-2023  润新知