提问人:AJM 提问时间:8/25/2009 最后编辑:lospejosAJM 更新时间:11/11/2021 访问量:837950
如何转义 XML 中的 & 号,以便它们在 HTML 中呈现为实体?
How do I escape ampersands in XML so they are rendered as entities in HTML?
问:
我有一些 XML 文本,我希望在 HTML 页面中呈现。此文本包含一个 & 符号,我想在其实体表示中呈现它:.&
如何在源 XML 中转义此 & 号?我试过了,但这被解码为实际的 & 字符 (),这在 HTML 中是无效的。&
&
因此,我想以这样一种方式对其进行转义,以便将其呈现为在使用 XML 输出的网页中。&
答:
根据 XML 1.0 规范的 §2.4,您应该能够使用 .&
我试过了 &但这是不允许的。
你确定这不是一个不同的问题吗?XML 显式将其定义为转义 & 符号的方法。
评论
&
应该工作得很好。维基百科有一个XML预定义实体的列表。
使用标签:CDATA
<![CDATA[
This is some text with ampersands & other funny characters. >>
]]>
评论
当您的 XML 包含 时,这将产生文本 .&amp;
&
当您在 HTML 中使用它时,它将呈现为 .&
评论
该字符本身是 XML 中的转义字符,因此解决方案是将其与 Unicode 十进制等效项连接起来,以确保没有 XML 解析错误。也就是说,将字符替换为 &
。&
&
&
评论
&
<xsl:text disable-output-escaping="yes">& </xsl:text>
会做伎俩。
我试过了,但没有用。根据 Wim ten Brink 的回答,我尝试了 & 它奏效了。
我的一位开发人员同事建议我使用 &无论它被渲染多少次,这都是有效的。
评论
就我而言,我不得不将其更改为 .%26
我需要在 URL 中转义。所以对我不起作用。
urlencode 函数更改为 。这样,XML 和浏览器 URL 机制都不会抱怨 URL。&
&
&
%26
评论
&
是在 XML 文档的大多数部分中表示 & 符号的方法。
如果要在 HTML 中显示 XML,则需要首先创建正确编码的 XML(涉及更改为 ),然后使用它创建正确编码的 HTML(这涉及再次更改为 )。这导致:&
&
&
&
&amp;
有关 XML 编码的更详尽说明,请参阅:
考虑您的 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中使用特殊字符具有所有代码。
评论