<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    blog.Toby

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      130 隨筆 :: 2 文章 :: 150 評論 :: 0 Trackbacks

    c#讀寫xml文件

    [日期:01-16] [字體: ]
    c#讀寫xml文件
    已知有一個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);//顯示子節點點文本
        }
       } 




    posted on 2008-05-30 15:58 渠上月 閱讀(337) 評論(0)  編輯  收藏 所屬分類: other tips
    主站蜘蛛池模板: 国产精品福利在线观看免费不卡| 成人毛片手机版免费看| 国产午夜亚洲精品不卡| 亚洲激情电影在线| 亚洲中文字幕久久精品无码A| 亚洲成a人片在线观看无码专区| 免费A级毛片无码A∨男男| 久久影视综合亚洲| 亚洲国产成+人+综合| 亚洲精品美女在线观看播放| 亚洲综合精品成人| 很黄很污的网站免费| 在线观看免费大黄网站| 亚洲国产一二三精品无码| 久久精品国产亚洲5555| 中文字幕 亚洲 有码 在线| 精品久久久久久无码免费| 性xxxxx免费视频播放| 国产AV无码专区亚洲AWWW| 在线观看亚洲AV每日更新无码| 毛片基地看看成人免费| 久久亚洲国产成人精品性色| 综合一区自拍亚洲综合图区| jjizz全部免费看片| 国色精品卡一卡2卡3卡4卡免费| 亚洲成a人片在线观看无码专区| 国产综合成人亚洲区| 国产亚洲精品无码专区| 91精品国产免费久久国语蜜臀| 亚洲一区在线免费观看| 伊人久久亚洲综合影院首页| 中文字幕免费视频| 亚洲av无码精品网站| 久久精品国产亚洲AV久| 国产精品亚洲综合一区在线观看| 最近高清中文字幕无吗免费看| 四虎永久成人免费| 亚洲中文字幕一二三四区| 久久亚洲欧洲国产综合| 91麻豆最新在线人成免费观看| 在线观看亚洲人成网站|