2

我正在阅读一本教科书来学习XPath。我从那本书中找到了以下行:

XPath 如何处理 XML CDATA 部分中的文本?CDATA 部分中的每个字符都被视为字符数据。换句话说,一个 CDATA 部分被视为好像<![CDATA[and]]>已被删除,并且每次出现的标记都像<and&被相应的字符实体替换,例如&lt;and&amp; )替换。

但是书中没有给出任何例子来解释上述句子。任何人都可以帮助我理解作者在下面试图说什么:

CDATA 部分被视为好像<![CDATA[and]]>已被删除,并且每次出现的标记都像<and&被相应的字符实体(如&lt;and )替换&amp;

4

1 回答 1

4

我反过来想 - a<![CDATA[和 next之间的所有内容都]]>被视为文本,并且不受实体引用的通常解码的影响,并且<符号不引入元素名称。所以

<something><![CDATA[<foo>text&more</foo>]]></something>

是相同的

<something>&lt;foo>text&amp;more&lt;/foo></something>

然而

<something><foo>text&more</foo></something>

不是格式良好的 XML(因为它&被视为实体引用的开始,但没有对应;的结束它)。

于 2013-07-15T14:45:50.433 回答