我有一些XML文本,我希望在HTML页面中呈现 . 此文本包含一个&符号,我想在其实体表示中呈现: &
.
如何在源XML中转义此&符号?我尝试了 &
,但这被解码为实际的&符号( &
),即invalid in HTML .
所以我想以这样的方式逃避它,它将在使用XML输出的网页中呈现为 &
.
我有一些XML文本,我希望在HTML页面中呈现 . 此文本包含一个&符号,我想在其实体表示中呈现: &
.
如何在源XML中转义此&符号?我尝试了 &
,但这被解码为实际的&符号( &
),即invalid in HTML .
所以我想以这样的方式逃避它,它将在使用XML输出的网页中呈现为 &
.
12 回答
如何使用unicode
\u0026
?在我的Android XML文件中为我工作 . 如果出现问题,有人让我知道 .我试过&amp,但它没有用 . 基于Wim ten Brink的答案,我试过放大器并且它起作用了 .
我的一位开发人员建议我使用&无论它呈现多少次都能奏效 .
&
应该工作得很好,维基百科有一个List of predefined entities in XML .考虑一下你的XML是否如下所示 .
您不能直接使用
<>
,因为它会抛出错误 . 在这种情况下,您可以使用<>
来代替它 .Click here查看所有代码 .
&
是在XML文档的大多数部分中表示&符号的方法 .如果要在HTML中显示XML,则需要首先创建正确编码的XML(包括将
&
更改为&
),然后使用它来创建正确编码的HTML(这涉及再次将&
更改为&
) . 这导致:有关XML编码的更全面说明,请参阅:
What characters do I need to escape in XML documents?
<xsl:text disable-output-escaping="yes">& </xsl:text>
会做的伎俩 .相关问题是如何在此类内容包含&符号时编码XML元素内容 - 如果XML是使用GET操作提交的URI的一部分 . (暂且不谈这种API的智慧 - 这是我今天必须处理的事情 . )我尝试了上面提到的所有内容,唯一真正有效的是
%26amp;
需要%26
对第一个字符进行URL编码&符号的XML编码 . 需要%26
之后的amp;
,因为URI的XML部分正在加载到XML文档服务器端 . 因此,在这个有趣的场景中,有必要将两种编码方法结合在一起 .当您的XML包含
&amp;
时,这将生成文本&
.在HTML中使用它时,它将呈现为
&
.根据 §2.4 of the XML 1.0 spec ,您应该能够使用
&
.你确定它不是一个不同的问题吗? XML明确地将此定义为逃避&符号的方法 .
&
字符本身是XML中的转义字符,因此解决方案是将它与&
的Unicode十进制等效项连接起来,从而确保不存在XML解析错误 . 也就是说,将字符&
替换为 & .CDATA标签?
在我的情况下,我不得不将其更改为
%26
.我需要在URL中转义
&
. 所以&
对我来说没有用 . urlencode 函数将&
更改为%26
. 这样,XML和浏览器URL机制都没有抱怨URL .