参考一下http://weblogs.asp.net/mschwarz/archive/2003/03/30/4480.aspx,也许对你有帮助

解决方案 »

  1.   

    楼主:
    你的xml很复杂,一看就知道时用.net中的dataset.toxml来的.不好.建议你自己写这个xml文件
    <?xml version="1.0" encoding="utf-8" ?> 
    <DataSet>
    - <List id="List1" >
      <PostName>200510309952</PostName> 
      <PostTime>2005年10月18日 17:03:50</PostTime> 
      <PostBody>111</PostBody> 
      <Flag>0</Flag> 
      </List>
    - <List id="List2" >
      <PostName>200510309952</PostName> 
      <PostTime>2005年10月18日 17:03:51</PostTime> 
      <PostBody>222</PostBody> 
      <Flag>0</Flag> 
      </List>
    - <List id="List3" >
      <PostName>200510309952</PostName> 
      <PostTime>2005年10月18日 17:03:52</PostTime> 
      <PostBody>333</PostBody> 
      <Flag>0</Flag> 
      </List>
    </DataSet><script language="JavaScript">
    var _dom=new ActiveXObject("MSXML2.DOMDocument");
    _dom.async=false;
    _dom.load("MyXml.xml");
    //采用xpath;
    //可以指定具体的那个list
    //var node=_dom.selectSingleNode("//List[@id='List3']");
    //全部list
    var nodes = _dom.selectNodes("//List");
    for(var i=0;i<nodes.length;i++)
    {
    var listname=nodes[i].getAttribute("id");
    var PostName=_dom.selectSingleNode("//List[@id='"+listname+"']/PostName").text
    alert(PostName);
    var PostTime=_dom.selectSingleNode("//List[@id='"+listname+"']/PostTime").text
    alert(PostTime);
    }

    </script>
    绝对ok这里主要时用xpath定位
      

  2.   

    var xmlResult = event.result.value;
    然后
    var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
    xmlDoc.async=false;
    xmlDoc.loadXML(xmlResult);
    然后用var nodes = xmlDoc.selectNodes("//List");
    for (var i=0;i<nodes.length;i++)
     kk = nodes[i].text;试试! 我现在和你一样,利用webservice和js做实施刷新就是这样读到的c#中返回的dataset
    还有dataset中返回的是 
    DataSet ds;
     return ds.getxml()