在 IE9 中进行 XML 解析后,我遇到了一个问题。当我提醒我解析 XML 的变量时,在除 IE9 之外的所有其他浏览器中,我可以看到文本 [Object],但在 IE9 中它显示的是 [Object Document]。因此,变量值未分配给输入参数。代码:
if (window.DOMParser)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
}
else // Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(txt);
}
xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
在 IE9 中,我可以看到 IF 块每次都在执行,xmlDoc 警告为 [Object Document] [仅在 IE9 中],当我在输入参数(最后一行)中分配 xmlDoc 对象时,代码停止,所有其他浏览器,包括 IE7, IE8 运行良好。任何帮助将不胜感激。提前致谢。
编辑: XSLT 格式
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:param name="selectedSKU"></xsl:param>
<xsl:param name="pageName">skuset</xsl:param>
<xsl:param name="selectedSWATCH"></xsl:param>
<xsl:param name="colFlag">0</xsl:param>
<xsl:param name="xslStoreId">10001</xsl:param>
<xsl:param name="xslLangId">-1</xsl:param>
<xsl:param name="xslCatalogId">10051</xsl:param>
<xsl:param name="exitURL"></xsl:param>
<xsl:param name="iskiosk">0</xsl:param>
<xsl:param name="AddToCart"></xsl:param>
<xsl:param name="Qty"></xsl:param>
<xsl:template match="/">
<xsl:apply-templates select="//product[@id=$selectedSKU]" />
</xsl:template>
<xsl:variable name="label_stars">
<xsl:value-of select="productcatalog/labels/label[@key='common.stars']" />
</xsl:variable>
<xsl:variable name="label_reviews">
<xsl:value-of select="productcatalog/labels/label[@key='common.reviews']" />
</xsl:variable>
</xsl:stylesheet>
XSLT 文件很长……所以我附上了一个块。