#region UpdateXmlRow /// 〈summary〉 /// 更行符合条件的一条Xml记录 /// 〈/summary〉 /// 〈param name="strXmlPath"〉XML文件路径〈/param〉 /// 〈param name="Columns"〉列名数组〈/param〉 /// 〈param name="ColumnValue"〉列值数组〈/param〉 /// 〈param name="strWhereColumnName"〉条件列名〈/param〉 /// 〈param name="strWhereColumnValue"〉条件列值〈/param〉 /// 〈returns〉〈/returns〉 public static bool UpdateXmlRow(string strXmlPath,string[] Columns,string[] ColumnValue,string strWhereColumnName,string strWhereColumnValue) { try { //同上一方法 string strXsdPath = strXmlPath.Substring(0,strXmlPath.IndexOf(".")) + ".xsd"; DataSet ds = new DataSet(); //读xml架构,关系到列的数据类型 ds.ReadXmlSchema(GetXmlFullPath(strXsdPath)); ds.ReadXml(GetXmlFullPath(strXmlPath)); //先判断行数 if(ds.Tables[0].Rows.Count 〉 0) { for(int i=0; i〈 ds.Tables[0].Rows.Count; i++) { //如果当前记录为符合Where条件的记录 if(ds.Tables[0].Rows[i][strWhereColumnName].ToString().Trim().Equals(strWhereColumnValue)) { //循环给找到行的各列赋新值 for(int j=0; j 〈 Columns.Length; j++) { ds.Tables[0].Rows[i][Columns[j]] = ColumnValue[j]; } //更新DataSet ds.AcceptChanges(); //重新写入XML文件 ds.WriteXml(GetXmlFullPath(strXmlPath)); return true; } } } return false; } catch(Exception) { return false; } } #endregion