var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");

/*根据字符串加载xml缓存*/
function xmlProcess(str){
    if(document.all){
        xmlDoc.loadXML(str);
    }
}
/*根据服务器文件路径加载xml缓存
//function xmlProcess(path)
//{
//    xmlDoc.async=false;
//    xmlDoc.load(path);
//}
*/
/*分析xml取得字段值*/
xmlProcess.prototype.GetValueByFields=function(fieldName){
    if(xmlDoc==null){
        return null;
    }
    var rows=xmlDoc.selectSingleNode("DataTable").childNodes;
    var result=rows[0].selectSingleNode(fieldName);
    return result.text;
}

xmlProcess.prototype.getDataString=function(){
    if(xmlDoc==null)
        return null;
    var result=new StringBuffer();
    var root=xmlDoc.selectSingleNode("DataSet");
    var DataTables=root.childNodes;
    if(DataTables[0]!==null)
    {
        var rows=DataTables[0].childNodes;
        for(var i=0;i<rows.length;i++)
        {
            if(i!=0)
                result.append("^`");
            var rowsField=rows[i].childNodes;
            for(var j=0;j<rowsField.length;j++)
            {
                if(j!=0)
                    result.append("`^");
                result.append(rowsField[j].text);
            }
        }
    }
    return result.toString();
}

/*读取xml节点值，id为row的Index值，strNode为row内的ID，Name,Age,Remark,strValue为ID,Name,Age,Remark的text值,如果修改成功，返回修改的值，否则返回空值*/
function xmlUpdata(id,strNode,strValue)
{
    if(xmlDoc==null)
        return null;
    var xmlRows=xmlDoc.selectSingleNode("table").childNodes;
    var xmlRow=null;
    if(xmlRows!=null){
        for(var i=0;i<xmlRows.length;i++){
            if(xmlRows[i].getAttribute("index")==id){
                xmlRow=xmlRows[i];
                break;
            }
        }
    }
    if(xmlRow!=null){
        for(var j=0;j<xmlRow.childNodes.length;j++){
            if(xmlRow.childNodes[j].nodeName==strNode){
               xmlRow.childNodes[j].text=strValue;
               return xmlRow.childNodes[j].text;
            }
        }
    }
    return null;
}
/*读取xml节点值，id为row的Index值，strNode为row内的ID，Name,Age,Remark，如果该节点存在，即返回节点的text值，否则为空值*/
function xmlGetData(id,strNode)
{
    if(xmlDoc==null)
        return null;
    var xmlRows=xmlDoc.selectSingleNode("table").childNodes;
    var xmlRow=null;
     if(xmlRows!=null){
        for(var i=0;i<xmlRows.length;i++){
            if(xmlRows[i].getAttribute("Index")==id){
                xmlRow=xmlRows[i];
                break;
            }
        }
    }
    if(xmlRow!=null){
        for(var j=0;j<xmlRow.childNodes.length;j++){
            if(xmlRow.childNodes[j].nodeName==strNode){
               return xmlRow.childNodes[j].text;
            }
        }
    }
    return null;
}