XML读取与写入的案例

  

XML读取与写入的案例?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

,,已知有一个xml文件(书店。xml)如下:

& lt; ?xml version=?.0”;编码=癵b2312" ?比;   & lt; bookstore>   & lt;图书类型=癴antasy"ISBN=? - 3631 - 4 -“比;   & lt; title>奥伯龙# 39;s Legacy   & lt; author> Corets Eva   & lt; PRice> 5.95 & lt;/PRice>   & lt;/book>   & lt;/bookstore>

1,往& lt; bookstore>节点中插入一个& lt; book>节点:

XmlDocument xmlDoc=new XmlDocument ();   xmlDoc.Load (“bookstore.xml");   XmlNode根=xmlDoc.SelectSingleNode (“bookstore");//查找& lt; bookstore>   XmlElement xe1=xmlDoc.CreateElement (“book");//创建一个& lt; book>节点   xe1.SetAttribute (“genre",“李赞红“);//设置该节点类型属性   xe1.SetAttribute (“ISBN"“2 - 3631 - 4“);//设置该节点ISBN属性   XmlElement xesub1=xmlDoc.CreateElement (“title");   xesub1.InnerText=癈S从入门到精通“;//设置文本节点   xe1.AppendChild (xesub1);//添加到& lt; book>节点中   XmlElement xesub2=xmlDoc.CreateElement (“author");   xesub2.InnerText=昂蚪荨?   xe1.AppendChild (xesub2);   XmlElement xesub3=xmlDoc.CreateElement (“price");   xesub3.InnerText=?8.3”;   xe1.AppendChild (xesub3);   root.AppendChild (xe1);//添加到& lt; bookstore>节点中   xmlDoc.Save (“bookstore.xml");

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

& lt; ?xml version=?.0”;编码=癵b2312" ?比;   & lt; bookstore>   & lt;图书类型=癴antasy"ISBN=? - 3631 - 4 -“比;   & lt; title>奥伯龙# 39;s Legacy   & lt; author> Corets Eva   & lt; price> 5.95 & lt;/price>   & lt;/book>   & lt;图书类型=袄钤藓臁?ISBN=? - 3631 - 4 -“比;   & lt; title> CS从入门到精通& lt;/title>   & lt; author>候捷& lt;/author>   & lt; price> 58.3 & lt;/price>   & lt;/book>   & lt;/bookstore>

2,修改节点:将类型属性值为“李赞红”的节点的类型值改为“更新李赞红”,将该节点的子节点& lt; author>的文本修改为“亚胜”。

& lt; author>的文本修改为“亚胜”。   XmlNodeList节点列表=xmlDoc.SelectSingleNode (“bookstore") childnodes;//获取书店节点的所有子节点   foreach(节点列表XmlNode xn)//遍历所有子节点   {   XmlElement xe=(XmlElement) xn;//将子节点类型转换为XmlElement类型   如果(xe.GetAttribute (“genre")==袄钤藓臁?//如果类型属性值为“李赞红”   {   xe.SetAttribute (“genre",“更新李赞红“);//则修改该属性为“更新李赞红”   XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点   foreach (XmlNode xn1 nls)//遍历   {   XmlElement xe2=(XmlElement) xn1;//转换类型   如果(xe2.Name==癮uthor")//如果找到   {   xe2.InnerText=把鞘ぁ?//则修改   打破;//找到退出来就可以了   }   }   打破;   }   }

xmlDoc.Save (“bookstore.xml");//保存。
//==================================================

最后结果为:

& lt; ?xml version=?.0”;编码=癵b2312" ?比;   & lt; bookstore>   & lt;图书类型=癴antasy"ISBN=? - 3631 - 4 -“比;   & lt; title>奥伯龙# 39;s Legacy   & lt; author> Corets Eva   & lt; price> 5.95 & lt;/price>   & lt;/book>   & lt;图书类型=案吕钤藓臁?ISBN=? - 3631 - 4 -“比;   & lt; title> CS从入门到精通& lt;/title>   & lt; author>亚胜& lt;/author>   & lt; price> 58.3 & lt;/price>   & lt;/book>   & lt;/bookstore>

3,删除& lt;书类型=癴antasy"ISBN=? - 3631 - 4 -“祝辞节点的类型属性,删除& lt;书类型=案吕钤藓臁?ISBN=? - 3631 - 4 -“祝辞节点。

XmlNodeList xnl=xmlDoc.SelectSingleNode (“bookstore") childnodes;   foreach (xnl XmlNode xn)   {   XmlElement xe=(XmlElement xn);   如果(xe.GetAttribute (“genre")==癴antasy")   {   xe.RemoveAttribute (“genre");//删除类型属性   }   else if (xe.GetAttribute (“genre")==案吕钤藓臁?   {   xe.RemoveAll();//删除该节点的全部内容   }   }   xmlDoc.Save (“bookstore.xml");

XML读取与写入的案例