C#中XML的运用

来源:互联网 发布:用友软件价钱 编辑:程序博客网 时间:2024/06/10 16:23
已知有一个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");          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"?>    <bookstore>        <book   genre="fantasy"   ISBN="2-3631-4">            <title>Oberon's   Legacy</title>            <author>Corets,   Eva</author>            <price>5.95</price>        </book>        <book   genre="李赞红"   ISBN="2-3631-4">            <title>CS从入门到精通</title>            <author>候捷</author>            <price>58.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"?>    <bookstore>        <book   genre="fantasy"   ISBN="2-3631-4">            <title>Oberon's   Legacy</title>            <author>Corets,   Eva</author>            <price>5.95</price>        </book>        <book   genre="update李赞红"   ISBN="2-3631-4">            <title>CS从入门到精通</title>            <author>亚胜</author>            <price>58.3</price>        </book>    </bookstore>         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)          {            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");    //===========================================    最后结果为:    <?xml   version="1.0"   encoding="gb2312"?>    <bookstore>        <book   ISBN="2-3631-4">            <title>Oberon's   Legacy</title>            <author>Corets,   Eva</author>            <price>5.95</price>        </book>        <book>        </book>    </bookstore>         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);//显示子节点点文本            }          }     


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一岁宝宝足外翻怎么办 2岁宝宝小腿弯怎么办啊 一岁宝宝小腿弯怎么办 一岁小儿o型腿怎么办 两岁宝宝o型腿怎么办 狗狗前腿外八字怎么办 20岁走路内八字怎么办 9岁儿童脚内八字怎么办 5岁宝宝脚内八字怎么办 一岁宝宝内八字怎么办 两人八字合不合怎么办 考到不好的大学怎么办 考的大学不理想怎么办 只考上二本大学怎么办 w7电脑中病毒了怎么办 电脑中病毒了该怎么办 泰迪呼吸急促怎么办啊 狗狗呼吸急促是怎么办 狗狗着凉了呕吐怎么办 狗鼻子流黄鼻涕怎么办 刚出生婴儿睡觉不踏实怎么办 有人溺水后你该怎么办 借钱不还怎么办没欠条 私人欠货款不还怎么办 公司欠货款不还怎么办 两个人离婚一方不同意怎么办 比亚迪l3油耗高怎么办 u盘密码忘记了怎么办 主板没有m.2接口怎么办 点痣留下了疤怎么办 危险三角区长痘痘怎么办 挤了危险三角区怎么办 三角区长痘挤了怎么办 三角区发红长痘怎么办 激光祛斑碰水了怎么办 激光打痣留下坑怎么办 点痣之后留下坑怎么办 去痣留下的红印怎么办 激光点痦子留疤怎么办 激光点痣的疤痕怎么办 做完眉毛碰水了怎么办