http://blog.donews.com/ccnet/archive/2005/07/22/476697.aspxLZ可以参考下上面这个联接里的代码

解决方案 »

  1.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    var workerAge = 0;
    var xmlDoc;
    var items;function $(id){
    return document.getElementById(id);
    }
    function loadXml(file){
    var doc = null;
    if(window.ActiveXObject){
    doc = new window.ActiveXObject("Msxml2.DOMDocument");
    doc.async = false;
    doc.load(file);
    }else if(document.implementation && document.implementation.createDocument){
    doc = document.implementation.createDocument("", "", null);
    doc.load(file);
    }

    return doc;
    }
    window.onload = function(){
    xmlDoc = loadXml("index.xml");
    if(xmlDoc){
    items = xmlDoc.getElementsByTagName("item");
    }else{
    alert("加载XML文件失败!");
    }
    };
    function searchUser(){
    var kw = $("kw").value;
    var isFound = false;
    if(kw == ""){
    alert("请输入要搜索的名字!");
    return;
    }
    for(var i=0; i<items.length; i++){
    if(items[i].getAttribute("name") == kw){
    workerAge = items[i].getAttribute("age");
    isFound = true;
    break;
    }
    }
    if(isFound){
    alert("Yes:" + workerAge);
    }else{
    alert("No");
    }
    }
    </script>
    </head><body>
    <input type="text" name="kw" id="kw" />
    <input type="submit" name="btnSearch" id="btnSearch" value=" 搜索 " onclick="searchUser()" />
    </body>
    </html>
      

  2.   

    index.xml<?xml version="1.0" encoding="utf-8"?>
    <items> 
    <item id="001" name="joe" sex="male" age="23" job="developer" /> 
    <item id="002" name="bill" sex="male" age="30" job="manager" /> 
    <item id="003" name="white" sex="male" age="22" job="test" /> 
    <item id="004" name="jack" sex="male" age="40" job="boss" /> 
    <item id="005" name="kate" sex="female" age="18" job="waiter" /> 
    </items> 
      

  3.   


    var worker={
       id:null,
       name:null,
       sex:null,
       age:null,
       job:null,
       getWorkerInfoByName:function(name){
          var workerInfo=this.readXML("XML/info.xml",name);
          if(workerInfo){
             with(workerInfo){
                this.id=attributes(0).value;
                this.name=attributes(1).value;
                this.sex=attributes(2).value;
                this.age=attributes(3).value;
                this.job=attributes(4).value;
             }
          }
       },
       readXML:function(xmlFile,name){
          var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.async=false;
          xmlDoc.load(xmlFile);
          var root=xmlDoc.documentElement;
          var info=root.selectNodes("//items/item[@name='"+name+"']");
          return info[0];
       }
    };
    onload=function(){
    worker.getWorkerInfoByName("kate");
    }
      

  4.   

    var worker={
       id:null,
       name:null,
       sex:null,
       age:null,
       job:null,
       getWorkerInfoByName:function(name){
          //XML文件存放路径请楼主自行更改
          var workerInfo=this.readXML("XML/info.xml",name);
          if(workerInfo){
             with(workerInfo){
                this.id=attributes(0).value;
                this.name=attributes(1).value;
                this.sex=attributes(2).value;
                this.age=attributes(3).value;
                this.job=attributes(4).value;
             }
          }
       },
       readXML:function(xmlFile,name){
          var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.async=false;
          xmlDoc.load(xmlFile);
          var root=xmlDoc.documentElement;
          var info=root.selectNodes("//items/item[@name='"+name+"']");
          return info[0];
       }
    };onload=function(){
       //此处作测试用,worker变量中包含了该员工的所有信息
       worker.getWorkerInfoByName("kate");
    }//以上代码在IE6平台上测试通过,仅仅提一个代码供参考,用XML做数据源读取数据关键是XPATH,有空去了解一下吧,这个很重要。
      

  5.   


    var worker={ 
       id:null, 
       name:null, 
       sex:null, 
       age:null, 
       job:null, 
       getWorkerInfoByName:function(name){ 
           //XML文件存放路径("XML/info.xml")请楼主自行更改 
            var workerInfo=this.readXML("XML/info.xml",name); 
           if(workerInfo){ 
              with(workerInfo){ 
                 this.id=attributes(0).value; 
                 this.name=attributes(1).value; 
                 this.sex=attributes(2).value; 
                 this.age=attributes(3).value; 
                 this.job=attributes(4).value; 
             } 
          } 
       }, 
       readXML:function(xmlFile,name){ 
          var xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
          xmlDoc.async=false; 
          xmlDoc.load(xmlFile); 
          var root=xmlDoc.documentElement; 
          var info=root.selectNodes("//items/item[@name='"+name+"']"); 
          return info[0]; 
       } 
    }; onload=function(){ 
       //此处作测试用,worker变量中包含了该员工的所有信息 
       worker.getWorkerInfoByName("kate"); 
    } //以上代码在IE6平台上测试通过,仅仅提一个代码供参考,用XML做数据源读取数据关键是XPATH,有空去了解一下吧,这个很重要。
      

  6.   


    var worker={ 
       id:null, 
       name:null, 
       sex:null, 
       age:null, 
       job:null, 
       getWorkerInfoByName:function(name){ 
            var workerInfo=this.readXML("index.xml",name); 
           if(workerInfo){ 
              with(workerInfo){ 
                 this.id=attributes(0).value; 
                 this.name=attributes(1).value; 
                 this.sex=attributes(2).value; 
                 this.age=attributes(3).value; 
                 this.job=attributes(4).value; 
             } 
          } 
       }, 
       readXML:function(xmlFile,name){ 
          var xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
          xmlDoc.async=false; 
          xmlDoc.load(xmlFile); 
          var root=xmlDoc.documentElement; 
          var info=root.selectNodes("//items/item[@name='"+name+"']"); 
          return info[0]; 
       } 
    }; onload=function(){ 
       //此处作测试用,worker变量中包含了该员工的所有信息 
       worker.getWorkerInfoByName("kate"); 
    以上代码在IE6平台上测试通过,仅仅提一个代码供参考,用XML做数据源读取数据关键是XPATH,有空去了解一下吧,这个很重要。
      

  7.   

    一段优秀的代码中至少要包含20%的注释,继续完善://定义员工对象,设置信息元素
    var worker={ 
       id:null, 
       name:null, 
       sex:null, 
       age:null, 
       job:null, 
       //<summary>根据员工姓名获取该员工基本信息</summary>
       //<param name="name">员工姓名</param>
       getWorkerInfoByName:function(name){ 
          var workerInfo=this.readXML("index.xml",name); 
          if(workerInfo){ 
             //设置员工信息
             with(workerInfo){ 
                this.id=attributes(0).value; 
                this.name=attributes(1).value; 
                this.sex=attributes(2).value; 
                this.age=attributes(3).value; 
                this.job=attributes(4).value; 
             } 
          } 
       }, 
       //<summary>读取XML数据源</summary>
       //<param name="xmlFile">XML数据源存放路径</param>
       //<param name="name">员工姓名</param>
       //<returns>员工基本信息</returns>
       readXML:function(xmlFile,name){ 
          var xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
          xmlDoc.async=false; 
          xmlDoc.load(xmlFile); 
          var root=xmlDoc.documentElement; 
          var info=root.selectNodes("//items/item[@name='"+name+"']"); 
          return info[0]; 
       } 
    }; //页面加载事件
    onload=function(){ 
       //此处作测试用,worker变量中包含了该员工的所有信息 
       worker.getWorkerInfoByName("kate");