由于为了方便大家把代码复制一下,在脱离数据的情况下,就可以看到效果,所以,我把数据存放在xml,所以读取数据不是通过数据库,是通过跟xml文件交互实现的。所以做了下面对xml增删改查页面。
效果图:
首先列出XML文件,方便代码参照
内容.xml
一,核心代码:
1) 修改xml
////// 修改XML /// /// XML文件名 /// 存放信息哈希表 /// 主键值 public void saveXML(string xmlName,Hashtable ht,string ID) { string fileName=HttpContext.Current.Request.PhysicalApplicationPath+"\xml\"+xmlName+".xml";//xml的物理路径 Xmldocument xmlDoc=new Xmldocument (); xmlDoc.Load(fileName); XmlNode node = xmlDoc.SelectSingleNode("config/rows[@ID=" + ID + "]"); foreach (XmlNode node1 in node.Attributes) { if (ht.ContainsKey(node1.Name)&&node1.Name!="ID") { node1.Value = ht[node1.Name].ToString(); } } xmlDoc.Save(fileName); }
ht:
Hashtable ht = new Hashtable(); ht.Add("ID", this.txt_ID.Value); ht.Add("class", this.txt_class.Value); ht.Add("class_name", this.txt_class_name.Value); ht.Add("year", this.txt_year.Value); ht.Add("school", this.txt_school.Value); ht.Add("count", this.txt_count.Value);2)插入xml
////// 插入xml /// /// XML文件名 /// 存放信息哈希表 ///public string insertXml(string xmlName, Hashtable ht) { string fileName = HttpContext.Current.Request.PhysicalApplicationPath + "\xml\" + xmlName + ".xml";//xml的物理路径 Xmldocument xmlDoc = new Xmldocument(); xmlDoc.Load(fileName); XmlNode node = xmlDoc.SelectSingleNode("//rows[last()]");//最后一个行节点 XmlNode MaxNode = xmlDoc.SelectSingleNode("//rows/@ID[not(./rows/@ID)]");//获取主键最大值 if (int.Parse(ht[MaxNode.Name].ToString()) <= int.Parse(MaxNode.Value))//如果小于主键最大值,那么返回- { return "-1"; } XmlElement xe = xmlDoc.CreateElement("rows"); xe.InnerText = ""; foreach (XmlNode node1 in node.Attributes) { if (ht.ContainsKey(node1.Name)) { xe.SetAttribute(node1.Name, ht[node1.Name].ToString()); } else { xe.SetAttribute(node1.Name,""); } } node.ParentNode.AppendChild(xe); xmlDoc.Save(fileName); return "1"; }
3) 删除xml
////// 删除xml节点 /// /// XML文件名 /// 主键值 /// 主键名 ///public string deleteXml(string xmlName,string ID,string primaryKey) { string rtn = string.Empty; string fileName = HttpContext.Current.Request.PhysicalApplicationPath + "\xml\" + xmlName + ".xml";//xml的物理路径 Xmldocument xmlDoc = new Xmldocument(); xmlDoc.Load(fileName); XmlNode node = xmlDoc.SelectSingleNode("//rows[@"+primaryKey+"='"+ID+"']");//最后一个行节点 if (node ==null) { rtn = "-1"; } else { node.ParentNode.RemoveChild(node); rtn = "1"; } xmlDoc.Save(fileName); return rtn; }
4)html显示xml在以前的内容已经介绍过
如果是看具体的实现代码,可以下载:
以上就是xml学习(8) xml增删改查的内容,更多相关内容请关注PHP中文网(www.kaotop.com)!



