• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            C++ Programmer's Cookbook

            {C++ 基礎(chǔ)} {C++ 高級(jí)} {C#界面,C++核心算法} {設(shè)計(jì)模式} {C#基礎(chǔ)}

            在C#中操作XML (轉(zhuǎn))

            我用的是一種很笨的方法,但可以幫助初學(xué)者了解訪問(wèn)XML節(jié)點(diǎn)的過(guò)程。
             
              已知有一個(gè)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>節(jié)點(diǎn)中插入一個(gè)<book>節(jié)點(diǎn):


               XmlDocument xmlDoc=new XmlDocument();
               xmlDoc.Load("bookstore.xml");
               XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
               XmlElement xe1=xmlDoc.CreateElement("book");//創(chuàng)建一個(gè)<book>節(jié)點(diǎn)
               xe1.SetAttribute("genre","李贊紅");//設(shè)置該節(jié)點(diǎn)genre屬性
               xe1.SetAttribute("ISBN","2-3631-4");//設(shè)置該節(jié)點(diǎn)ISBN屬性
             
               XmlElement xesub1=xmlDoc.CreateElement("title");
               xesub1.InnerText="CS從入門到精通";//設(shè)置文本節(jié)點(diǎn)
               xe1.AppendChild(xesub1);//添加到<book>節(jié)點(diǎn)中
               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>節(jié)點(diǎn)中
               xmlDoc.Save("bookstore.xml");


              //================
              結(jié)果為:


            <?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、修改節(jié)點(diǎn):將genre屬性值為“李贊紅“的節(jié)點(diǎn)的genre值改為“update李贊紅”,將該節(jié)點(diǎn)的子節(jié)點(diǎn)<author>的文本修改為“亞勝”。


                XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//獲取bookstore節(jié)點(diǎn)的所有子節(jié)點(diǎn)
               foreach(XmlNode xn in nodeList)//遍歷所有子節(jié)點(diǎn)
               {
                XmlElement xe=(XmlElement)xn;//將子節(jié)點(diǎn)類型轉(zhuǎn)換為XmlElement類型
                if(xe.GetAttribute("genre")=="李贊紅")//如果genre屬性值為“李贊紅”
                {
                 xe.SetAttribute("genre","update李贊紅");//則修改該屬性為“update李贊紅”
             
                 XmlNodeList nls=xe.ChildNodes;//繼續(xù)獲取xe子節(jié)點(diǎn)的所有子節(jié)點(diǎn)
                 foreach(XmlNode xn1 in nls)//遍歷
                 {
                  XmlElement xe2=(XmlElement)xn1;//轉(zhuǎn)換類型
                  if(xe2.Name=="author")//如果找到
                  {
                   xe2.InnerText="亞勝";//則修改
                   break;//找到退出來(lái)就可以了
                  }
                 }
                 break;
                }
               }
             
               xmlDoc.Save("bookstore.xml");//保存。



              //=================

              最后結(jié)果為:


            <?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">節(jié)點(diǎn)的genre屬性,刪除 <book genre="update李贊紅" ISBN="2-3631-4">節(jié)點(diǎn)。


            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();//刪除該節(jié)點(diǎn)的全部?jī)?nèi)容
                }
               }
               xmlDoc.Save("bookstore.xml");

              //====================
             
              最后結(jié)果為:


            <?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、顯示所有數(shù)據(jù)。


             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);//顯示子節(jié)點(diǎn)點(diǎn)文本
                }
               }


            轉(zhuǎn)載自:http://blog.csdn.net/s98/archive/2004/10/17/140307.aspx

            posted on 2005-12-24 15:49 夢(mèng)在天涯 閱讀(699) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C#/.NET

            公告

            EMail:itech001#126.com

            導(dǎo)航

            統(tǒng)計(jì)

            • 隨筆 - 461
            • 文章 - 4
            • 評(píng)論 - 746
            • 引用 - 0

            常用鏈接

            隨筆分類

            隨筆檔案

            收藏夾

            Blogs

            c#(csharp)

            C++(cpp)

            Enlish

            Forums(bbs)

            My self

            Often go

            Useful Webs

            Xml/Uml/html

            搜索

            •  

            積分與排名

            • 積分 - 1808261
            • 排名 - 5

            最新評(píng)論

            閱讀排行榜

            狠狠色丁香久久婷婷综合图片| AV无码久久久久不卡蜜桃| 久久久无码精品亚洲日韩按摩| 亚洲综合日韩久久成人AV| 久久久久久亚洲Av无码精品专口| 国产精品对白刺激久久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 97久久国产露脸精品国产| 亚洲中文字幕久久精品无码APP| 一本久久知道综合久久| 成人精品一区二区久久| 久久久黄色大片| 99久久精品国产一区二区| 精品久久久无码人妻中文字幕豆芽 | 久久久精品国产免大香伊| 国产精品久久久久影视不卡| 性做久久久久久久久浪潮| 77777亚洲午夜久久多喷| 久久久久久久免费视频| 久久久久久久综合日本亚洲| 久久综合久久美利坚合众国| 国产国产成人久久精品| 久久久久成人精品无码中文字幕| 手机看片久久高清国产日韩| 熟妇人妻久久中文字幕| 亚洲国产天堂久久综合| 伊人色综合久久天天| 久久国产色AV免费观看| 亚洲精品国产自在久久| 久久精品嫩草影院| MM131亚洲国产美女久久| 国产毛片欧美毛片久久久| 亚洲午夜福利精品久久| 久久精品无码一区二区三区免费 | 狠狠色丁香婷婷久久综合不卡| 久久久精品国产免大香伊 | 精品乱码久久久久久夜夜嗨 | 亚洲精品美女久久久久99| 久久久久久国产精品无码下载 | 久久精品无码免费不卡| 成人国内精品久久久久影院VR|