<SCRIPT LANGUAGE="JavaScript">
<!--
var strXml= "";
strXml +="<xsl:template match=\"n_1\">";
strXml +="   <table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#ff00ff\">";
strXml +="        <tr>";
strXml +="           <td><other:value>这里是需要处理的值</other:value></td>";
strXml +="        </tr>";
strXml +="   </table >";
strXml +="<xsl:template>";var xml   = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(strXml);
alert("为何生成的结点值为空:"+xml.xml)
//-->
</SCRIPT>

解决方案 »

  1.   

    再看看这个例子:(我注释掉了一些命名空间)就行产生正确的结果<HTML>
    <HEAD>
    </HEAD><BODY>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var strXml= "";
    strXml +="<xsl:template match=\"n_1\">\n";
    strXml +="   <table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#ff00ff\">\n";
    strXml +="        <tr>\n";
    strXml +="           <td><other:value>这里是需要处理的值</other:value></td>\n";
    strXml +="        </tr>\n";
    strXml +="   </table >\n";
    strXml +="<xsl:template>\n";
    var xml   = new ActiveXObject("Microsoft.XMLDOM");
    xml.async = false;
    xml.loadXML(strXml);
    alert("如果结点有带有命名空间,为何生成的结果为空:"+xml.xml)strXml = "";
    strXml +="<template match=\"n_1\">\n";
    strXml +="   <table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#ff00ff\">\n";
    strXml +="        <tr>\n";
    strXml +="           <td><value>这里是需要处理的值</value></td>\n";
    strXml +="        </tr>\n";
    strXml +="   </table >\n";
    strXml +="</template>\n";
    xml.loadXML(strXml);
    alert("为何将命名空间去掉,这样就能产生正确的结果:\n"+xml.xml)
    //-->
    </SCRIPT>
    </BODY>
    </HTML>
      

  2.   

    <HTML>
    <HEAD>
    </HEAD><BODY>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var strXml= "";
    strXml +="<xsl:template match=\"n_1\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n";
    strXml +="   <table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#ff00ff\">\n";
    strXml +="        <tr>\n";
    strXml +="           <td><other:value xmlns:other=\"http://meng\">这里是需要处理的值</other:value></td>\n";
    strXml +="        </tr>\n";
    strXml +="   </table>\n";
    strXml +="</xsl:template>\n";
    var xml   = new ActiveXObject("Microsoft.XMLDOM");
    xml.async = false;
    alert("如果结点有带有命名空间,为何生成的结果为空:"+xml.xml)strXml = "";
    strXml +="<template match=\"n_1\">\n";
    strXml +="   <table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#ff00ff\">\n";
    strXml +="        <tr>\n";
    strXml +="           <td><value>这里是需要处理的值</value></td>\n";
    strXml +="        </tr>\n";
    strXml +="   </table >\n";
    strXml +="</template>\n";
    xml.loadXML(strXml);
    alert("为何将命名空间去掉,这样就能产生正确的结果:\n"+xml.xml)
    //-->
    </SCRIPT>
    </BODY>
    </HTML>
      

  3.   

    不是不可以。错误:
    1,不封闭<xsl:template>
    2,名称空间没有定义
    3,table没有封闭