我在xml的&
标记值中出现的时间超过了<Description>
,如下所示:
<str name="Description">Type: Fan & Heatsinks<br/>Compatible CPU: Intel<br/>Heatsink Material: Copper (base and heat-pipes), aluminium (cooling fins), soldered joints & nickel plating<br/></str>
我想使用XSLT
在xml中转义多个&
xslt代码如下:
<xsl:variable name="Description" select="str[@name = 'ShortDescription']"/>
<Description><xsl:value-of select="$Description" disable-output-escaping="yes" /></Description>
我在&
XML Parsing Error: not well-formed
请告诉我如何处理这个
提前致谢
答案 0 :(得分:2)
您的输入格式不正确XML:&
必须始终转义为&
。 XSLT无法处理格式不正确的XML的输入数据。
修复错误数据的最佳方法是始终纠正创建错误数据的程序。如果你真的找不到办法,你必须编写某种修复工具,修复工具的细节取决于理解输入中存在哪种问题。您不能使用XML工具进行修复,因为输入不是XML;你必须使用像Perl这样的东西。 (或者,如果您真的想使用XSLT,可以使用unparsed-text()
读取输入以绕过XML解析器。)