我如何在XML中跳过&符号,以便将它们呈现为HTML中的实体?
我有一些XML文本,我希望在HTML页面中呈现。 这个文本包含了一个&符号,我想用它的实体表示来渲染: & 。
如何在源XML中转义这个&符号? 我尝试& ,但是这被解码为实际的符号字符( & ),这在HTML中是无效的 。
所以我想逃避它,它会被渲染为& 在使用XML输出的网页中。
当你的XML包含& ,这将导致文字& 。
当你在HTML中使用它时,它将被渲染为& 。
根据XML 1.0规范的§2.4 ,您应该能够使用& 。
我尝试& 但这是不允许的。
你确定这不是一个不同的问题? XML明确地将其定义为逃避&符号的方式。
“&”字符本身就是XML中的转义字符,因此解决方法是将其与“&”的Unicode十进制等效string连接起来,从而确保没有XMLparsing错误。 也就是说,将字符'&'replace为' & ”。
CDATA标签?
<![CDATA[ This is some text with ampersands & other funny characters. >> ]]>
& 应该工作得很好,维基百科在XML中有一个预定义的实体列表 。
在我的情况下,我不得不将其更改为%26 。
我需要逃避&在一个URL。 所以& 没有为我工作。 urlencode函数将更改为%26 。 这种方式既不XML或浏览器的URL机制抱怨的URL。
我已经试过了,但是没有奏效。 基于Wim ten Brink的回答,我尝试了&amp; amp;它工作。
我的一位开发人员build议我使用&#x26; 而且不pipe它可以渲染多less次都能工作。
如何使用unicode \u0026 ? 适用于我的android的XML文件。 如果出现问题,有人让我知道。
<xsl:text disable-output-escaping="yes">& </xsl:text>会做的。
& 是在XML文档的大多数部分中表示和号的方式。
如果你希望在HTML中显示XML,你需要首先创build正确编码的XML(这涉及到改变& ), 然后使用它来创build正确编码的HTML(其涉及再次改变& )。 这导致:
&amp;
有关XML编码的更全面的解释,请参阅:
我需要在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>
点击这里查看所有的代码。
一个相关的问题是如何在XML元素内容包含和符时编码 – 如果XML是用GET操作提交的URI的一部分。 (撇开这样的API的智慧 – 这是我今天不得不面对的。)我尝试了上面提到的所有事情,唯一实际工作的是%26amp; 需要使用%26来对XML编码中的第一个字符进行url编码。 amp; 之后需要%26 ,因为URI的XML部分被加载到XML文档服务器端。 所以在这个有趣的场景中,有必要把这两种编码方法结合在一起。