XmlDocument xmlDoc = new XmlDocument(); string path = Server.MapPath("~/Content/xml1.xml"); xmlDoc.Load(path);//获取xml根据物理路径,一定要使用Load LoadXml是加载字符串的 XmlNode root = xmlDoc.SelectSingleNode("bookstore");//添加节点 XmlElement xe1 = xmlDoc.CreateElement("book"); xe1.SetAttribute("genre", "zhu"); xe1.SetAttribute("ISBN", "123456"); XmlElement xesub1 = xmlDoc.CreateElement("title"); xesub1.InnerText = "dfasdfase"; xe1.AppendChild(xesub1); root.AppendChild(xe1); xmlDoc.Save(path); XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookstore").ChildNodes; foreach (XmlNode xmlNode in nodeList) { XmlElement xe2 = (XmlElement)xmlNode;//将Node转化为XmlElement才能进行下面的操作 if (xe2.GetAttribute("genre") == "zhu1")//获取某一个节点的属性 { xe2.SetAttribute("genre", "zhu1");//设置某一个节点的属性 XmlNodeList xmllist = xe2.ChildNodes; string tiutle = ((XmlElement)xmllist[0]).InnerText; XmlCDataSection ca = xmlDoc.CreateCDataSection("dfasdfwe");//添加CData块 ((XmlElement)xmllist[0]).AppendChild(ca); } } xmlDoc.Save(path);//保存
注意:遇到 根级别上的数据无效。 第 1 行,位置 1。这种错误的原因:1 编码格式 2 没有写xml头 3 xml格式错误 4 空格 5使用Load还是使用LoadXml 6 数据量太大也会导致这个问题,可以修改配置文件
原文:http://www.cnblogs.com/zhushangwei/p/3604478.html