CDATA 的基本介紹

2021-09-26 08:39:39 字數 1714 閱讀 2762

這個標記所包含的內容將表示為純文字,比如表示文字內容「<」。 

此標記用於xml文件中,我們先來看看使用轉義符的情況。我們知道,在xml中,」<」」>」」&」等字元是不能直接存入的,否則xml語法檢查時會報錯,如果想在xml中使用這些符號,必須將其轉義為實體,如」<」」>」」&」,這樣才能儲存進xml文件。 

在使用程式讀取的時候,解析器會自動將這些實體轉換回」<」」>」」&」。舉個例子: 

age < 30

上面這種寫法會報錯,應該這樣寫: 

age < 30

值得注意的是: 

(1)轉義序列字元之間不能有空格; 

(2) 轉義序列必須以」;」結束; 

(3) 單獨出現的」&」不會被認為是轉義的開始; 

(4) 區分大小寫。 

在xml中,需要轉義的字元有: 

(1)&&

(2)<<

(3)>>

(4)""

(5)''

但是嚴格來說,在xml中只有」<」和」&」是非法的,其它三個都是可以合法存在的,但是,把它們都進行轉義是乙個好的習慣。 

不管怎麼樣,轉義前的字元也好,轉義後的字元也好,都會被xml解析器解析,為了方便起見,使用來包含不被xml解析器解析的內容。但要注意的是: 

(1) 此部分不能再包含」]]>」; 

(2) 不允許巢狀使用; 

(3)」]]>」這部分不能包含空格或者換行。 

最後,說說和xml轉移字元的關係,它們兩個看起來是不是感覺功能重複了? 

是的,它們的功能就是一樣的,只是應用場景和需求有些不同: 

(1)不能適用所有情況,轉義字元可以; 

(2) 對於短字串寫起來囉嗦,對於長字串轉義字元寫起來可讀性差; 

(3)表示xml解析器忽略解析,所以更快。

mybatis中 的作用

在使用mybatis 時我們sql是寫在xml 對映檔案中,如果寫的sql中有一些特殊的字元的話,在解析xml檔案的時候會被轉義,但我們不希望他被轉義,所以我們要使用來解決。

是什麼,這是xml語法。在cdata內部的所有內容都會被解析器忽略。

如果文字包含了很多的"<"字元 <=和"&"字元——就象程式**一樣,那麼最好把他們都放到cdata部件中。

但是有個問題那就是

等這些標籤都不會被解析,所以我們只把有特殊字元的語句放在  盡量縮小 的範圍。

例項如下:

# and newsday <= #

]]>

and newsedit=#

因為這裡有 ">"  "<=" 特殊字元所以要使用 來注釋,但是有標籤,所以把等 放外面

ibatis 的 CDATA 幹嘛的

一直寫sql語句都是直接copy,寫自己想要的,今天看了下究竟這個 居然很簡單,只是為了讓系統知道,並且識別到一些特殊字元,以 結束 只有以下幾種情況才需要,特殊注意,下面說 小於號 大於號 和 單引號 雙引號 micro no 比如這個 task no task no order by date ...

PCDATA和CDATA的區別

在xml文件中,能看到 cdata 的地方有三處 1 在dtd中,指定標籤中某個屬性的型別為字元型時,使用cdata。因為xml解析器會去分析這段字元內容,因而裡面如果需要使用 這5個特殊字元,應當用對應的替代替代字元來表示 必須以 開始,以 結束 具體如下 less than greater th...

PCDATA和CDATA的區別

在xml文件中,能看到 cdata 的地方有三處 1 在dtd中,指定標籤中某個屬性的型別為字元型時,使用cdata。因為xml解析器會去分析這段字元內容,因而裡面如果需要使用 這5個特殊字元,應當用對應的替代替代字元來表示 必須以 開始,以 結束 具體如下 less than greater th...