欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

XML CDATA是什么?

 更新時(shí)間:2007年01月23日 00:00:00   投稿:mdxy-dxy  
這篇文章主要為大家介紹下XML CDATA是什么,學(xué)習(xí)xml的朋友可以參考下

All text in an XML document will be parsed by the parser.
XML文檔中的所有文本都會(huì)被解析器解析。

Only text inside a CDATA section will be ignored by the parser.
只有CDATA部分的文本會(huì)被解析器忽略

Parsed Data
被解析的數(shù)據(jù)
XML parsers normally parse all the text in an XML document.
XML解析器通常會(huì)解析XML文檔里的所有文本

解析數(shù)據(jù)
XML 解析器通常情況下會(huì)處理XML文檔中的所有文本。

當(dāng)XML元素被解析的時(shí)候,XML元素內(nèi)部的文本也會(huì)被解析:

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

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

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

解析器會(huì)認(rèn)為上面的代碼是這樣的:

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

轉(zhuǎn)義字符
不合法的XML字符必須被替換為相應(yīng)的實(shí)體。

如果在XML文檔中使用類似"<" 的字符, 那么解析器將會(huì)出現(xiàn)錯(cuò)誤,因?yàn)榻馕銎鲿?huì)認(rèn)為這是一個(gè)新元素的開(kāi)始。所以不應(yīng)該象下面那樣書(shū)寫代碼:

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

為了避免出現(xiàn)這種情況,必須將字符"<" 轉(zhuǎn)換成實(shí)體,象下面:

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

下面是五個(gè)在XML文檔中預(yù)定義好的實(shí)體:

&lt; < 小于號(hào)
&gt; > 大于號(hào)
&amp; &
&apos; ' 單引號(hào)
&quot; " 雙引號(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):
1.CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,將很有可能出錯(cuò)哦。

2.同樣要注意在字符串"]]>"之間沒(méi)有空格或者換行符。

<![CDATA[ ]]>是什么意思???
=================================================

標(biāo)明是純文本的,沒(méi)有這個(gè)的話 <  >  & 字符是不能直接存入XML的,需要轉(zhuǎn)義,而用這個(gè)標(biāo)記則不需要轉(zhuǎn)義而將這些符號(hào)存入XML文檔。
可以避免未預(yù)料的特殊符號(hào)導(dǎo)致XML解析出錯(cuò)。

c#涉及到關(guān)于XML的CDATA和驗(yàn)證有效性的問(wèn)題
我剛開(kāi)始學(xué)習(xí)XML的東西,這里面我遇到一個(gè)叫做CDATA的段。這里面的解釋是在CDATA里面的所有東西都會(huì)被解析器忽略我不清楚這是什么意思。用簡(jiǎn)單的話來(lái)說(shuō)就是CDATA什么時(shí)候用,這里面的東西有什么用。如果用這個(gè)了,會(huì)產(chǎn)生什么樣子的結(jié)果。
還有就是XML有效性的驗(yàn)證。這個(gè)是什么意思,為什么要驗(yàn)證有效性呢,一般怎么驗(yàn)證呢,方法如何?我看書(shū)上說(shuō)有DTD和XML Schema的兩個(gè)方法,如何用,有什么區(qū)別呢?
問(wèn)題雖然多了點(diǎn),但是就是兩個(gè)主要的問(wèn)題。希望知道的大俠幫幫小弟,用通俗簡(jiǎn)單一點(diǎn)的話告訴我。萬(wàn)分感謝。
==================================================

當(dāng)你用FLASH和xml結(jié)合做網(wǎng)站應(yīng)用程序時(shí),例如讓人自由輸入姓名時(shí),人們可以輸入一些符號(hào),例如∶"<"、">"、"/"、"?"等,當(dāng)生成XML時(shí),會(huì)破壞了XML結(jié)構(gòu),使數(shù)據(jù)中斷。

這就要用XML CDATA

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

只有在CDATA部件之內(nèi)的文本會(huì)被解析器忽略。

<![CDATA[ ]]>是什么意思?~

從數(shù)據(jù)庫(kù)里讀取數(shù)據(jù)生成XML文件,加個(gè)“<![CDATA[    ]]>“是什么意思?
Response.Write "<body><![CDATA["
Response.Write rs("message")
Response.Write "]]></body>"
============================================
標(biāo)明是純文本的,沒(méi)有這個(gè)的話 <  >  & 字符是不能直接存入XML的,需要轉(zhuǎn)義,而用這個(gè)標(biāo)記則不需要轉(zhuǎn)義而將這些符號(hào)存入XML文檔。

可以避免未預(yù)料的特殊符號(hào)導(dǎo)致XML解析出錯(cuò)。

PCDATA和CDATA的區(qū)別究竟是什么呢?
=============================================
PCDATA表示已解析的字符數(shù)據(jù)。
   CDATA是不通過(guò)解析器進(jìn)行解析的文本,文本中的標(biāo)簽不被看作標(biāo)記。
   CDATA表示里面是什么數(shù)據(jù)XML不會(huì)解析.比如可能是下面的一段

  <![CDATA[ 
    if(a>b){
     System.out.println(a);
   }

   ]]>

    注意上面的一個(gè)">"符號(hào).


    PCDATA的數(shù)據(jù)是要給XML解析器去解析的,那上面的>去解析肯定會(huì)出錯(cuò)了,所以要用實(shí)體定義.上面的數(shù)據(jù)如果用PCDATA表示如下:

      if(a&gt;b){
         System.out.println(a);
      }
   
cdata是在XML文檔里面使用的關(guān)鍵字,用來(lái)告訴瀏覽器,這部分內(nèi)容不用解析,是給其他程序用的,比如JAVASCRIPT等等,#PCDATA是在 XML約束文檔里使用的,如DTD類型的約束文檔,在這里面表示元素的內(nèi)容或?qū)傩缘娜≈捣秶鹊龋亲址问降?/p>

相關(guān)文章

最新評(píng)論