XML的简单读取与写入的详解

已知有一个xml文件(bookstore.xml)如下:

Oberon's LegacyCorets, Eva5.95

登录后复制

1、往节点中插入一个节点:

XmlDocument xmlDoc=new XmlDocument();xmlDoc.Load("bookstore.xml");XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找XmlElement xe1=xmlDoc.CreateElement("book");//创建一个节点xe1.SetAttribute("genre","李赞红");//设置该节点genre属性xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性XmlElement xesub1=xmlDoc.CreateElement("title");xesub1.InnerText="CS从入门到精通";//设置文本节点xe1.AppendChild(xesub1);//添加到节点中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);//添加到节点中xmlDoc.Save("bookstore.xml");

登录后复制

//===============================================
结果为:

Oberon's LegacyCorets, Eva5.95CS从入门到精通候捷58.3

登录后复制

2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点的文本修改为“亚胜”。

的文本修改为“亚胜”。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”);//保存。
//==================================================

最后结果为:

Oberon's LegacyCorets, Eva5.95CS从入门到精通亚胜58.3

登录后复制

3、删除 节点的genre属性,删除 节点。

XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;foreach(XmlNode xn in xnl){XmlElement xe=(XmlElement)xn;if(xe.GetAttribute("genre")=="fantasy"){xe.RemoveAttribute("genre");//删除genre属性}else if(xe.GetAttribute("genre")=="update李赞红"){xe.RemoveAll();//删除该节点的全部内容}}xmlDoc.Save("bookstore.xml");

登录后复制

//===========================================
最后结果为:

Oberon's LegacyCorets, Eva5.95

登录后复制

4、显示所有数据。

XmlNode xn=xmlDoc.SelectSingleNode("bookstore");XmlNodeList xnl=xn.ChildNodes;foreach(XmlNode xnf in xnl){XmlElement xe=(XmlElement)xnf;Console.WriteLine(xe.GetAttribute("genre"));//显示属性值Console.WriteLine(xe.GetAttribute("ISBN"));XmlNodeList xnf1=xe.ChildNodes;foreach(XmlNode xn2 in xnf1){Console.WriteLine(xn2.InnerText);//显示子节点点文本}}

登录后复制

 以上就是XML的简单读取与写入的详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2491781.html

(0)
上一篇 2025年3月5日 00:42:00
下一篇 2025年3月5日 00:42:17

AD推荐 黄金广告位招租... 更多推荐

发表回复

登录后才能评论