我有一些XML文本,希望在HTML页面中呈现。这个文本包含一个&号,我想在它的实体表示中呈现:&

我如何转义这个&在源XML?我尝试了&但这被解码为实际的&字符(&),这在HTML中是无效的。

所以我想转义它,这样它会被渲染为&在使用XML输出的网页中。


当前回答

,应该没问题。Wikipedia有一个XML格式的预定义实体列表。

其他回答

当您的XML包含&,这将导致文本&。

当你在HTML中使用它时,它将被呈现为&。

考虑一下您的XML是否如下所示。

<Employees Id="1" Name="ABC">
  <Query>
    SELECT * FROM EMP WHERE ID=1 AND RES<>'GCF'
  <Query>
</Employees>

不能直接使用<>,因为它会抛出错误。在这种情况下,可以使用&#60;&#62;代替那个。

<Employees Id="1" Name="ABC">
  <Query>
    SELECT * FROM EMP WHERE ID=1 AND RES &#60;&#62; 'GCF'
  <Query>
</Employees>

14.1如何在XML中使用特殊字符有全部代码。

,是在XML文档的大多数部分中表示&号的方法。

如果希望XML在HTML中显示,首先需要创建正确编码的XML(包括将&更改为&),然后使用该XML创建正确编码的HTML(再次涉及将&更改为&)。结果是:

&amp;amp;

有关XML编码的更详细说明,请参见:

在XML文档中需要转义哪些字符?

使用CDATA标签:

 <![CDATA[
   This is some text with ampersands & other funny characters. >>
 ]]>

<xsl:text disable-output-escaping="yes">&&nbsp;