我有一些希望在 HTML 页面中呈现的 XML 文本。此文本包含一个 & 符号,我想在其实体表示中呈现它:&
。
如何在源 XML 中转义这个 & 符号?我试过&
了,但这被解码为实际的 & 字符 ( &
),这在 HTML 中是无效的。
所以我想以这样一种方式对其进行转义,使其在&
使用 XML 输出的网页中呈现。
我有一些希望在 HTML 页面中呈现的 XML 文本。此文本包含一个 & 符号,我想在其实体表示中呈现它:&
。
如何在源 XML 中转义这个 & 符号?我试过&
了,但这被解码为实际的 & 字符 ( &
),这在 HTML 中是无效的。
所以我想以这样一种方式对其进行转义,使其在&
使用 XML 输出的网页中呈现。
当您的 XML 包含&
时,这将产生文本&
。
当您在 HTML 中使用它时,它将呈现为&
.
该&
字符本身是 XML 中的转义字符,因此解决方案是将其与 Unicode 十进制等效字符连接起来,&
从而确保没有 XML 解析错误。也就是说,将字符替换&
为&
。
使用CDATA
标签:
<![CDATA[
This is some text with ampersands & other funny characters. >>
]]>
&
应该可以正常工作。Wikipedia 有一个 XML 中预定义实体的列表。
就我而言,我不得不将其更改为%26
.
我需要&
在 URL 中转义。所以&
没有为我工作。urlencode函数&
变为%26
. _ 这样,XML 和浏览器 URL 机制都不会抱怨 URL。
我已经尝试过&,但它没有用。根据Wim 10 Brink 的回答,我尝试了 & 并且成功了。
我的一位开发人员建议我使用 & 并且无论它可以渲染多少次,它都有效。
&
是在 XML 文档的大多数部分中表示 & 符号的方式。
如果您想在 HTML 中显示 XML,您需要首先创建正确编码的 XML(这涉及更改&
为&
),然后使用它来创建正确编码的 HTML(这涉及再次更改&
为&
)。这导致:
&amp;
有关 XML 编码的更详尽解释,请参见:
<xsl:text disable-output-escaping="yes">& </xsl:text>
会成功的。
考虑一下您的 XML 是否如下所示。
<Employees Id="1" Name="ABC">
<Query>
SELECT * FROM EMP WHERE ID=1 AND RES<>'GCF'
<Query>
</Employees>
您不能<>
直接使用它,因为它会引发错误。在这种情况下,您可以使用<>
它来代替它。
<Employees Id="1" Name="ABC">
<Query>
SELECT * FROM EMP WHERE ID=1 AND RES <> 'GCF'
<Query>
</Employees>
14.1 如何在XML 中使用特殊字符有全部代码。