1. 程式人生 > >C#基礎精華06(Linq To XML,讀取xml檔案,寫入xml)

C#基礎精華06(Linq To XML,讀取xml檔案,寫入xml)

Linq To XML

xml 標記語言 html 
xml 側重於儲存資料   html顯示資料
註釋<!-- 註釋 -->
xml沒有預定義標籤  html有

核心類XElement,一個XElement表示一個元素,new XElement(“Order”),建立一個名字為Order的標籤,呼叫Add增加子元素,也是XElement 物件,和TreeView一樣。

<?xml version="1.0" encoding="utf-8"?>
<person>
  <student id="110">
    <name>蘋果味</name>
    <genser>男</genser>
    <age>24</age>
  </student>
  <student id="111">
    <name>小玄女</name>
    <genser>女</genser>
    <age>23</age>
  </student>
</person>

=========================================================================================

讀取xml檔案

            //載入該檔案
            XDocument xdoc = XDocument.Load("myXml.xml");
            //獲取xml檔案中根元素(根節點)
            XElement root = xdoc.Root;
            //獲取根元素中所有的直接子元素
            IEnumerable<XElement> eles = root.Elements();
            foreach (XElement item in eles)
            {
                Console.WriteLine(item.Name+"=="+item.Attribute("id").Value);
                foreach (XElement stu in item.Elements())
                {
                    Console.WriteLine(stu.Name+"==="+stu.Value);


                }
            }

=======================================================================================

<?xml version="1.0" encoding="utf-8"?>
<person>
  <student id="110">
    <name>蘋果味</name>
    <genser>男</genser>
    <age>24</age>
  </student>
</person>

寫入xml

            XDocument xdoc=new XDocument();
            //根元素
            XElement root=new XElement("person");


            //子元素
            XElement stu=new XElement("student");
            stu.SetAttributeValue("id","110");//設定student元素的屬性和值
            stu.SetElementValue("name","蘋果味");
            stu.SetElementValue("genser","男");
            stu.SetElementValue("age","24");
            root.Add(stu); //把子元素新增到根元素中


            //儲存
            xdoc.Add(root);//把根元素新增到文件中
            xdoc.Save("myXml.xml");//儲存


            Console.WriteLine("ok");
            Console.ReadKey();