xpath不熟悉,而且兼容性没得....var xml="<root><people><name>abc</name><name>dbc</name><name>adbc</name><name>abcdefg</name></people></root>"
var dom;
if(document.all)
{
dom=new ActiveXObject("microsoft.xmldom")
dom.loadXML(xml)
}
else (window.DOMParser)
 dom=new DOMParser().parseFromString(xml,"text/xml")if(dom)
{
var nodes=dom.getElementsByTagName("name");
for(var i=0;i<nodes.length;i++)
 if(nodes[i].firstChild.nodeValue.indexOf("ab")==0)alert(nodes[i].firstChild.nodeValue)
}

解决方案 »

  1.   

       这问题用xpath解决会很简洁,曾经遇到过并且解决了,现在忘记了.记得那时候是用substring解决的.
       怎么没几人进来,自己顶顶...
      

  2.   

    text().substring(0,1) = "ab"
    substring应该是这样用的,红色部分为变量,也就是你要查找的字符串
      

  3.   

    var dom=new ActiveXObject("microsoft.xmldom")
    dom.loadXML("<root><people><name>abc</name><name>dbc</name><name>adbc</name><name>abcdefg</name></people></root>")dom.setProperty("SelectionLanguage","XPath");//===========还要设置这个var nodes=dom.selectNodes("/root/people/name[substring(text(),1,2)='ab']");for(var i=0;i<nodes.length;i++)alert(nodes[i].firstChild.nodeValue)
      

  4.   


    //不过firefox不支持xpath,如果就ie的话可以,别的浏览器你以后如果要兼容就有得你改了
    var dom=new ActiveXObject("microsoft.xmldom")
    dom.loadXML("<root><people><name>abc</name><name>dbc</name><name>adbc</name><name>abcdefg</name></people></root>")dom.setProperty("SelectionLanguage","XPath");//===========还要设置这个var nodes=dom.selectNodes("/root/people/name[substring(text(),1,2)='ab']");//substringfor(var i=0;i<nodes.length;i++)alert(nodes[i].firstChild.nodeValue)
      

  5.   

       开始我也是这么用的,但会报"预期的句柄']'找到'.' 当把 text().substring(0,1) = "ab" 作为节点的查询条件时(../name[text().substring(0,1) = "ab"]),   text()后面的一大截都不认了.
    在网上找到过这样个例子:   //*[substring(name(),1,4) = "elem"]     (http://www.adp-gmbh.ch/xml/pth/substr.html) 其实试过之后也不行.
      

  6.   

    to: showbo
      方法是不是试过了的?
      dom.setProperty("SelectionLanguage","XPath");
      设置这个是不是必要吗,为什么呢..谢谢 
      

  7.   

       楼上的那个方法可用, dom.setProperty("SelectionLanguage","XPath") 这句有些陌生.记得以前写的那个没有用到这个. 多谢. 
       再想办法翻回以前的资料......................