我有一些XML文本,希望在HTML页面中呈现。这个文本包含一个&号,我想在它的实体表示中呈现:&
我如何转义这个&在源XML?我尝试了&但这被解码为实际的&字符(&),这在HTML中是无效的。
所以我想转义它,这样它会被渲染为&在使用XML输出的网页中。
我有一些XML文本,希望在HTML页面中呈现。这个文本包含一个&号,我想在它的实体表示中呈现:&
我如何转义这个&在源XML?我尝试了&但这被解码为实际的&字符(&),这在HTML中是无效的。
所以我想转义它,这样它会被渲染为&在使用XML输出的网页中。
当前回答
,是在XML文档的大多数部分中表示&号的方法。
如果希望XML在HTML中显示,首先需要创建正确编码的XML(包括将&更改为&),然后使用该XML创建正确编码的HTML(再次涉及将&更改为&)。结果是:
&
有关XML编码的更详细说明,请参见:
在XML文档中需要转义哪些字符?
其他回答
&字符本身是XML中的转义字符,因此解决方案是将它与与&对应的Unicode十进制字符连接起来,从而确保没有XML解析错误。也就是说,将字符&替换为&。
我试过了,但是没用。基于Wim十Brink的答案,我尝试了一下,它起作用了。
我的一个开发伙伴建议我使用&不管它被渲染了多少次,这都是有效的。
在我的情况下,我不得不把它改为%26。
我需要在URL中转义&。所以,但对我来说行不通。 urlencode函数&变为%26。这样,XML和浏览器URL机制都不会抱怨URL。
当您的XML包含&,这将导致文本&。
当你在HTML中使用它时,它将被呈现为&。
考虑一下您的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中使用特殊字符有全部代码。