【发布时间】:2013-07-15 23:10:57
【问题描述】:
我正在阅读一本教科书来学习 XPath。我从那本书中找到了以下行:
XPath 如何处理 XML CDATA 部分中的文本? CDATA 部分中的每个字符都被视为字符数据。换句话说,CDATA 部分被视为好像
<![CDATA[和]]>已被删除,并且每次出现的标记(如&lt;和&amp;)都被相应的字符实体(如&lt;和&amp;)替换。
但是书中没有给出任何例子来解释上面的句子。任何人都可以帮助我理解作者在下面试图说什么:
CDATA 部分被视为好像删除了
<![CDATA[和]]>,并且每次出现的标记(如&lt;和&amp;)都被相应的字符实体(如&lt;和 @987654332)替换@.
【问题讨论】:
-
这本书的排版可能很糟糕,有人撕掉了编码实体并放入了渲染后的等价物:CDATA 表示在 cdata 块内时,
&lt;被视为&lt;,&amp;是&amp;。例如xml 元字符失去了它们的“元性”。 -
实际上是格式错误的问题。 :)
-
@JensErat 感谢您的编辑。我不知道为什么那部分被隐藏了:(
-
@Priti 这种情况经常发生。 Stackoverflow 使用 Markdown 来格式化帖子(无论如何我认为这是优越的),但也允许 HTML。这会导致很多丢失的 XML 输入,因为如果它们不是 HTML,浏览器会忽略它们......
标签: xpath