Home [C# 筆記][XML] 創建 XML 文檔
Post
Cancel

[C# 筆記][XML] 創建 XML 文檔

XML可擴展的標記語言 HTML

XML:儲存數據

注意:

  • XML是嚴格區分大小寫的
  • XML標籤也是成對出現的
  • XML文檔,只能有一個根節點
  • 節點、元素 XML所有的內容都是元素(包含標籤,標籤也是元素),XML裡的標籤叫做節點

InnerXml & InnerText

  • 如果內容有含標籤的時候,就用InnerXml
  • 用文本的時候,就用InnerText
1
2
3
name.InnerXml = "<p>我是一個p標籤</p>"; //內容有含標籤的時候,就用InnerXml
//name.InnerText = "<p>我是一個p標籤</p>"; //內容會被轉義
name.InnerText = "Ken"; //用文本的時候,就用InnerText

通過代碼建XML文檔

  1. 引用命名空間
  2. 創建XML文檔對象
  3. 創建第一行描述信息,並且添加到doc文檔中
  4. 創建根節點,將根節點添加到文檔中
  5. 給根節點Books創建子節點,將book加到根節點
  6. 給book添加子節點

XML

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?>
<Books>
  <Book>
    <Name>三國誌</Name>
    <Price>100</Price>
    <Des>好看,不解釋</Des>
  </Book>
  <Book>
    <Name>水滸傳</Name>
    <Price>90</Price>
    <Des>看了就知道</Des>
  </Book>
</Books>

程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System.Xml;
static void Main(string[] args)
{
    //通過代碼建XML文檔
    //1.引用命名空間
    //2.創建XML文檔對象
    XmlDocument doc = new XmlDocument();
    //3.創建第一行描述信息,並且添加到doc文檔中
    XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
    doc.AppendChild(dec);
    //4.創建根節點
    XmlElement books = doc.CreateElement("Books");
    //將根節點添加到文檔中
    doc.AppendChild(books);

    //5. 給根節點Books創建子節點
    XmlElement book1 = doc.CreateElement("Book");
    //將book加到根節點
    books.AppendChild(book1);

    //6.給book添加子節點
    //book1
    XmlElement name1 = doc.CreateElement("Name");
    name1.InnerText = "三國誌";
    book1.AppendChild(name1);

    XmlElement price1 = doc.CreateElement("Price");
    price1.InnerText = "100";
    book1.AppendChild(price1);

    XmlElement des1 = doc.CreateElement("Des");
    des1.InnerText = "好看,不解釋";
    book1.AppendChild(des1);

    //book2
    XmlElement book2 = doc.CreateElement("Book");
    books.AppendChild(book2);

    XmlElement name2 = doc.CreateElement("Name");
    name2.InnerText = "水滸傳";
    book2.AppendChild(name2);

    XmlElement price2 = doc.CreateElement("Price");
    price2.InnerText = "90";
    book2.AppendChild(price2);

    XmlElement des2 = doc.CreateElement("Des");
    des2.InnerText = "看了就知道";
    book2.AppendChild(des2);

    doc.Save("Books.xml");
    Console.WriteLine("儲存成功");
    Console.ReadKey();
}

給節點添加屬性 SetAttribute

XML

order.xml

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="utf-8"?>
<Order>
  <CustomerName>Ken</CustomerName>
  <CustomerNumber>10001</CustomerNumber>
  <Items>
    <OrderItem Name="手機" Count="100" />
    <OrderItem Name="筆電" Count="200" />
  </Items>
</Order>

程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using System.Xml; //1. 引用命名空間
static void Main(string[] args)
{
    //2.創建xml物件
    XmlDocument doc = new XmlDocument();
    //3.創建第一行描述信息,並且添加到doc文檔中
    XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
    doc.AppendChild(dec); //添加到doc文檔中

    //4.創建根節點
    XmlElement order = doc.CreateElement("Order");
    doc.AppendChild(order); //將根節點添加到文檔中

    //5.創建子節點
    XmlElement customerName = doc.CreateElement("CustomerName");
    customerName.InnerText = "Ken";
    order.AppendChild(customerName); //將子節點添加到order根節點中

    XmlElement customerNumber = doc.CreateElement("CustomerNumber");
    customerNumber.InnerText = "10001";
    order.AppendChild(customerNumber);

    XmlElement items = doc.CreateElement("Items");
    order.AppendChild(items); //將items添加到order中

    ///OrderItem1
    //6.給item添加子節點OrderItem
    XmlElement orderItem1 = doc.CreateElement("OrderItem");
    //7.給OrderItem節點添加屬性
    orderItem1.SetAttribute("Name", "手機");
    orderItem1.SetAttribute("Count", "100");
    items.AppendChild(orderItem1); //將orderItem添加到items

    //OrderItem2
    XmlElement orderItem2 = doc.CreateElement("OrderItem");
    //給節點添加屬性
    orderItem2.SetAttribute("Name", "筆電");
    orderItem2.SetAttribute("Count", "200");
    items.AppendChild(orderItem2);//將orderItem添加到items

    //保存xml
    doc.Save("Order.xml");
    Console.WriteLine("保存成功");
    Console.ReadKey();
}

https://www.bilibili.com/video/BV1vG411A7my?p=60

This post is licensed under CC BY 4.0 by the author.