已知有一个XML文件(bookstore.xml)如下:
代码如下 | 复制代码 |
<?xml version="1.0" encoding="gb2312"?> <bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets, Eva</author> <price>5.95</price> </book> </bookstore> |
1、往<bookstore>节点中插入一个<book>节点:
代码如下 | 复制代码 |
XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore> XmlElement xe1=xmlDoc.CreateElement("book");//创建一个<book>节点 xe1.SetAttribute("genre","李赞红");//设置该节点genre属性 xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性 XmlElement xesub1=xmlDoc.CreateElement("title"); root.AppendChild(xe1);//添加到<bookstore>节点中 结果为: <?xml version="1.0" encoding="gb2312"?> |
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子节点的所有子节点 xmlDoc.Save("bookstore.xml");//保存。 最后结果为: <?xml version="1.0" encoding="gb2312"?> |
3、删除 <book genre="fantasy" ISBN="2-3631-4">节点的genre属性,删除 <book genre="update李赞红" ISBN="2-3631-4">节点。
代码如下 | 复制代码 |
XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes; foreach(XmlNode xn in xnl) 最后结果为: <?xml version="1.0" encoding="gb2312"?> |
4、显示所有数据。
代码如下 | 复制代码 |
XmlNode xn=xmlDoc.SelectSingleNode("bookstore"); XmlNodeList xnl=xn.ChildNodes; foreach(XmlNode xnf in xnl) XmlNodeList xnf1=xe.ChildNodes; |
再分享一个 xml文件操作类
asp.net 对xml文件的读写,添加,修改,删除操作
下面有代码调试正确
代码如下 | 复制代码 |
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Xml; private XmlDocument xmlDoc; //load xml file //添加节点 XmlNode xmldocSelect=xmlDoc.SelectSingleNode("user"); xmldocSelect.AppendChild(el); }
//修改节点 } break; //删出节点 private void showIt() } } <?xml version="1.0" encoding="gb2312"?> |