<xml id="xml">
<Fruit>
  <Prod>
    <Name>Apple</Name>
    <Amount>3</Amount>
  </Prod>
  <Prod>
    <Name>Pear</Name>
    <Amount>5</Amount>
  </Prod>
  <Prod>
    <Name>Banana</Name>
    <Amount>6</Amount>
  </Prod>
</Fruit>
</xml><xml id="xsl">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
共有产品 <xsl:value-of select="count(//Prod/Name)" /> 种 <br/>
总数 <xsl:value-of select="sum(//Prod/Amount)" /> 个
</xsl:template>
</xsl:stylesheet>
</xml><SCRIPT LANGUAGE="JavaScript">
var html = xml.transformNode(xsl)
document.write(html);
</SCRIPT>

解决方案 »

  1.   

    这个是用xsl的
    能不能用xmlDom也实现同样的功能?
      

  2.   

    <script>
    var dom = new ActiveXObject("MSXML.DOMDocument");
    dom.load("bao.xml");
    var oNodes = dom.selectNodes("//Prod");
    alert("产品数:"+oNodes.length);
    </script>
      

  3.   

    new ActiveXObject 有安全提示.用数据岛demo.htm<XML ID="oBao">
    <Fruit>
      <Prod>
        <Name>Apple</Name>
        <Amount>3</Amount>
      </Prod>
      <Prod>
        <Name>Pear</Name>
        <Amount>5</Amount>
      </Prod>
      <Prod>
        <Name>Banana</Name>
        <Amount>6</Amount>
      </Prod>
    </Fruit>
    </XML>
    <script>
    var oNodes = oBao.XMLDocument.selectNodes("//Prod");
    alert("Prod:"+oNodes.length);
    for(var i=0;i<oNodes.length;i++)
    {
        alert(oNodes[i].childNodes[0].text+":"+oNodes[i].childNodes[1].text)
    }
    </script>