如何解决XML: ‘?‘ 等html字符转义的引用出错问题?

错误现象


error on line 90730 at column 31: Entity 'ldquo' not defined


&在xml中是特殊符号, 会出问题。解决:


1.


在xml中加入一段代码,如下:


<!DOCTYPE your_root_name [
<!ENTITY nbsp ” “>
<!ENTITY copy “?”>
<!ENTITY reg “?”>
<!ENTITY trade “?”>
<!ENTITY mdash “—”>
<!ENTITY ldquo ““”>
<!ENTITY rdquo “””> 
<!ENTITY pound “£”>
<!ENTITY yen “¥”>
<!ENTITY euro “�”>
]>


如果要在生成的html代码中出现&nbsp;那么要用下面的:


用<xsl:text></xsl:text>可以保留空格,注意这里的xsl类型为text才可以,为其他的就不行了。


另外,disable-output-escaping 属性为yes时,可以禁止转义输出,即直接输出<,&等字符<xsl:text disable-output-escaping=”yes”>&amp;nbsp;</xsl:text>


 或者<xsl:text disable-output-escaping=”yes”><![CDATA[&nbsp;&nbsp;]]></xsl:text>


更多参考 



 2.“&nbsp;”改为“&amp;nbsp;”就可以了。


SyntaxHighlighter.highlight();