四、xml
1、概念:XML可擴充套件的標記語言類似於HTML
XML:儲存資料
注意:
XM工是嚴格區分大小寫的。
XML標籤也是成對出現的。
2、透過程式碼來建立xML文件
1、引用名稱空間
using System.Xml;
2、建立XML文件物件
XmlDocument doc = new XmlDocument();
3、建立第一行描述資訊,並且新增到doc文件中
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8",null);
doc.AppendChild(dec);
4、建立一個根節點,並且新增到doc文件中---必須有
XmlElement books = doc.CreateElement("Books");
doc.AppendChild(books);
5、給根節點建立一個子節點
XmlElement book1 = doc.CreateElement("Book");
6、將book新增到根節點
books.AppendChild(book1);
7、為book1建立新的節點

8、儲存文件

3、新增標籤與新增屬性
1、新增標籤
1、是上文,建立一個標籤然後加入節點中
2、透過innerxml:新增

所以新增文字用InnerText
新增標籤用innerxml
2、新增屬性:在節點orderItem中新增Name = “ 奧特曼”和…

4、元素和節點
元素(CreateElement):XML文件中的所有內容都是元素
節點:XML文件中的每一個標籤都是節點
節點包含元素
並且注意:XML文件有且只能有一個根節點(必須有)
五、追加,讀取,刪除xml文件
1、追加xml文件
1、首先
1、引用名稱空間
using System.Xml;
2、建立XML文件物件
XmlDocument doc = new XmlDocument();
2、判斷文件受否存在
1、如果存在
首先載入目標xml文件
doc.Load("Books.xml")
然後獲得檔案的根節點
XmlElement books = doc.DocumentElement;
2、如果不存在
建立一個新的文件建立一個新的根節點
建立第一行
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0","utf-8",null);
doc.AppendChild(dec);
建立根節點
XmlElement books = doc.CreateElement("Books");
doc.AppendChild(books);
3、下面追加的內容同上

2、讀取xml文件
1、首先
1、引用名稱空間
using System.Xml;
2、建立XML文件物件
XmlDocument doc = new XmlDocument();
2、載入目標xml文件
doc.Load("Books.xml")
3、獲得根節點
XmlElement books = doc.DocumentElement;
4、獲得子節點 返回節點的集合
XmlNodeList xnl = doc.ChildNodes;

3、讀取帶屬性的文件
1、首先
1、引用名稱空間
using System.Xml;
2、建立XML文件物件
XmlDocument doc = new XmlDocument();
2、載入目標xml文件
doc.Load("Books.xml")
3、讀取特定的節點列表(不一定只有一個)
XmlNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");

六、委託
1、什麼是委託
1、為什麼要使用委託
將一個方法作為引數傳遞給另一個方法,而方法的型別就是委託。
2、委託概念和語法
委託就是指向一個函式的變數

首先注意:宣告一個委託型別->委託所指向的函式必須跟委託具有相同的簽名(引數和返回值)。
1、名稱空間下宣告一個委託

2、Main函式中可以宣告一個自己建立的委託

2、也可以在宣告一個方法,然後用這個方法在透過委託呼叫其他的方法

2、委託的好處。
比如,有一個字串陣列,這個陣列由使用者決定它是大寫還是小寫

3、匿名函式
當方法僅僅使用一次時,可以考慮使用匿名函式,可以節省空間

例子二、

轉自知乎