我正在使用xml文件,该文件在firefox中打开时失败。我得到了一个解释错误。这完全是因为&符号。用&
替换它时;或删除它我没有错误。
问题是这个xml文档的接收者在他们的主页上打印出来打印出&
而不是&
。
我可以做某事还是应该做点什么?
提前致谢。
答案 0 :(得分:4)
在XML中,&
本身是不允许的。您需要将其转义为&
或将其放在<![CDATA[]]>
部分。
您的接收者将XML视为正常文本 - 他们没有做正确的事情。
但是,如果它们无法更改,则可以使用<![CDATA[&]]>
作为&符号,但如果它们不将数据视为XML,则可能也会导致问题(但更明确)。
第三个选项是将&
编码为其数字字符实体&
- 如果接收方将XML视为HTML,但如果它们将其显示为&
,则这可能有效需要修复它们。
答案 1 :(得分:0)
尝试使用&amp;的数字表示,即&
,可能是接收者只是不理解实体。
如果这没有帮助,那肯定是接收者的问题。
答案 2 :(得分:0)
Firefox失败,因为&amp;是XML中实体的开始,它期望实体的其余部分。
如果您要发送符号&amp;,则应将&
替换为其实体&
或&
,或者使用CDATA