function XmlManager(_xml){
  this.getFirstNode=function(path,node){
    var ary=this.getNodes(path,node)
    if(ary.length==0)return null;
    return ary[0];
  }
  this.getNodes=function(path,node){
    if(path==null)return;
    path=path.replace(/^\/+|\/+$/g,'');
    var ary=new Array(node||_xml);
    var s=path.split('/');
    for(var i=0;i<s.length;i++){
      var list=new Array();
      for(var j=0;j<ary.length;j++){
        var ns=ary[j].childNodes;
        for(var k=0;k<ns.length;k++){
          if(ns.item(k).tagName==s[i])list.push(ns.item(k));
        }
      }
      ary=list;
    }
    return ary;
  }
  this.getFirstValue=function(path,node){
    var n=this.getFirstNode(path,node);
    if(n==null||n.firstChild==null)return null;
    return n.firstChild.nodeValue;
  }
  this.getValues=function(path,node){
    var nodes=this.getNodes(path,node);
    var values=new Array();
    if(nodes==null||nodes.length==0)return values;
    for(var i=0;i< nodes.length;i++){
      var n=nodes[i];
      if(n!=null&&n.firstChild!=null){
        var value=nodes[i].firstChild.nodeValue;
        if(value!=null)values.push(value);
      }
    }
    return values; 
  }
}
