怎样在C里对xml文件进行修改.新增.删除.插入操作.doc
文本预览下载声明
怎样在C#里对xml文件进行修改,新增,删除,插入操作?已知有一个XML文件(bookstore.xml)如下:?xml version=1.0 encoding=gb2312?bookstorebook genre=fantasy ISBN=2-3631-4 titleOberons Legacy/title authorCorets, Eva/author price5.95/price /book/bookstore
1、往bookstore节点中插入一个book节点:
XmlDocument xmlDoc=new XmlDocument();xmlDoc.Load(bookstore.xml);XmlNode root=xmlDoc.SelectSingleNode(bookstore);//查找bookstoreXmlElement xe1=xmlDoc.CreateElement(book);//创建一个book节点xe1.SetAttribute(genre,李赞红);//设置该节点genre属性xe1.SetAttribute(ISBN,2-3631-4);//设置该节点ISBN属性
XmlElement xesub1=xmlDoc.CreateElement(title);xesub1.InnerText=CS从入门到精通;//设置文本节点xe1.AppendChild(xesub1);//添加到book节点中XmlElement xesub2=xmlDoc.CreateElement(author);xesub2.InnerText=候捷;xe1.AppendChild(xesub2);XmlElement xesub3=xmlDoc.CreateElement(price);xesub3.InnerText=58.3;xe1.AppendChild(xesub3);
root.AppendChild(xe1);//添加到bookstore节点中xmlDoc.Save(bookstore.xml);
//================结果为:
?xml version=1.0 encoding=gb2312?bookstorebook genre=fantasy ISBN=2-3631-4titleOberons Legacy/titleauthorCorets, Eva/authorprice5.95/price/bookbook genre=李赞红 ISBN=2-3631-4titleCS从入门到精通/titleauthor候捷/authorprice58.3/price/book/bookstore
?
2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点author的文本修改为“亚胜”。
XmlNodeList nodeList=xmlDoc.SelectSingleNode(bookstore).ChildNodes;//获取bookstore节点的所有子节点foreach(XmlNode xn in nodeList)//遍历所有子节点{XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型if(xe.GetAttribute(genre)==李赞红)//如果genre属性值为“李赞红”{xe.SetAttribute(genre,update李赞红);//则修改该属性为“update李赞红”
XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点???foreach(XmlNode xn1 in nls)//遍历{XmlElement xe2=(XmlElement)xn1;//转换类型if(xe2.Name==author)//如果找到{xe2.InnerText=亚胜;//则修改break;//找到退出来就可以了}}break;}}
xmlDoc.Save(bookstore.xml);//保存。
?
//=================
最后结果为:
?xml version=1.0 encoding=gb2312?bookstorebook genre=fantasy ISBN=2-3631-4titleOberons Legacy/titleauthorCorets, Eva/authorprice5.95/price/bookbook genre=upd
显示全部