我是XML及其相关技术的新手.
这个CDATA标签总是在开头,然后是一些东西
我在我的XML文件中使用它:
<text><![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]></text>
Run Code Online (Sandbox Code Playgroud)
我有以下问题.请帮我.
什么
<![CDATA[some text]]]]>
意思?
除非内容中有特殊字符,如" &"和" <",否则为字符串
<![CDATA[xxxxx]]>
Run Code Online (Sandbox Code Playgroud)
意思是完全一样的
xxxxx
Run Code Online (Sandbox Code Playgroud)
不同之处在于,在第二种形式中," &"和" <"具有特殊含义,而在CDATA形式中,唯一具有特殊含义的是字符串" ]]>"作为终结符.
你更复杂的例子:
<![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]>
Run Code Online (Sandbox Code Playgroud)
是一个噩梦,并且是由于懒散的编程习惯在CDATA部分中包含文本而导致的懒惰.CDATA部分不能嵌套,因此第一个]]>终止第一个<!CDATA[,这意味着该字符串相当于
<![CDATA[TAX INVOICE]]>
Run Code Online (Sandbox Code Playgroud)
您可能认为这反过来相当于
TAX INVOICE
Run Code Online (Sandbox Code Playgroud)
但事实并非如此,因为XML解析器只会解释外部CDATA分隔符,因此它将传递给应用程序的内容是
<![CDATA[TAX INVOICE]]>
Run Code Online (Sandbox Code Playgroud)
该术语CDATA来自SGML世界,它是 的复杂前身XML。该术语是 的缩写Character Data,表示数据包含字符,并且不应被解析。里面的标签、实体、属性、处理指令CDATA被视为文本,而不是XML元素。
| 归档时间: |
|
| 查看次数: |
3578 次 |
| 最近记录: |