以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  求助!!xml中查询  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=30858)


--  作者:ibet
--  发布时间:4/19/2006 3:17:00 PM

--  求助!!xml中查询
pp.xml:如下 
<科室 名称="一室">
  <成员 id="01">
   <姓名>李力</姓名>
   <电话>123456</电话>
   <邮箱>ll4_cq</邮箱>
  </成员>
  <成员 id="02">
   <姓名>孟浩</姓名>
   <电话>456789</电话>
   <邮箱>mh_cq</邮箱>
  </成员>
 </科室>
script中如何取<姓名>为‘孟浩’的人的电话和邮箱

<SCRIPT LANGUAGE="JavaScript">
<!--
var url="pp.xml";
var doc=new ActiveXObject("Microsoft.XMLDOM");
doc.async = false;
doc.load(url);

tt=doc.selectNodes("//科室[@名称='一室']/成员");
//这样只找到所有成员,下面不知道怎么写,是否要遍历数组来查找那???
//是否效率太低了???
//请高手看看!
</script>


--  作者:SATOKO2006
--  发布时间:4/19/2006 3:51:00 PM

--  
你要查啥子嘛?
--  作者:ibet
--  发布时间:4/19/2006 4:54:00 PM

--  
比如<姓名>为‘孟浩’的人的电话和邮箱
--  作者:ibet
--  发布时间:4/19/2006 6:05:00 PM

--  
xpath了解了,终于明白怎么弄了。

tt=doc.selectNodes("//科室[@名称='油田开发一室']/成员[姓名='孟浩']");
for(j=0;j<tt.length;j++){
  var cl=tt.item(j);
  var cldnodes=cl.childNodes;
  for(k=0;k<cldnodes.length;k++){
    document.write(cldnodes.item(k).nodeName+">-"+cldnodes.item(k).text+"<BR>");
  }

}


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms