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();