主頁 > 知識庫 > XML CDATA是什么?

XML CDATA是什么?

熱門標(biāo)簽:東營電銷 如何修改多個百度地圖標(biāo)注 r語言數(shù)據(jù)可視化地圖標(biāo)注 400電話辦理包年 南寧網(wǎng)絡(luò)外呼系統(tǒng)運營商 隨州外呼調(diào)研系統(tǒng) 微信地圖標(biāo)注合并了 本地電話機器人 高德地圖地圖標(biāo)注服務(wù)中心

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

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

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

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

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

message>This text is also parsed/message>

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

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

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

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

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

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

message>if salary 1000 then/message>

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

message>if salary lt; 1000 then/message>

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

lt; 小于號
gt; > 大于號
apos; ' 單引號
quot; " 雙引號

實體必須以符號""開頭,以符號";"結(jié)尾。
注意: 只有"" 字符和""字符對于XML來說是嚴(yán)格禁止使用的。剩下的都是合法的,為了減少出錯,使用實體是一個好習(xí)慣。

CDATA部件
在CDATA內(nèi)部的所有內(nèi)容都會被解析器忽略。

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

一個 CDATA 部件以"![CDATA[" 標(biāo)記開始,以"]]>"標(biāo)記結(jié)束:

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

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

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

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

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

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

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

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

這就要用XML CDATA

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

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

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

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

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

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

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

   ]]>

    注意上面的一個">"符號.


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

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

您可能感興趣的文章:
  • XML CDATA的作用
  • 使用XSL將XML文檔中的CDATA注釋輸出為HTML文本
  • XML指南——XML CDATA
  • .NET更新Xml中CDATA內(nèi)容的方法實例

標(biāo)簽:宿遷 西雙版納 黃石 果洛 德州 寧夏 益陽 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《XML CDATA是什么?》,本文關(guān)鍵詞  XML,CDATA,是什么,XML,CDATA,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《XML CDATA是什么?》相關(guān)的同類信息!
  • 本頁收集關(guān)于XML CDATA是什么?的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章