C# XML Reader

本文介紹如何使用 C# 的 XML reader 讀取 XML 檔:

考慮一個 XML 檔如下:


我們稱 zoo 是 Root Element
animal 是 Sub-Element of zoo
name 是 Sub-Element of animal



birth 和 ID 是 attribute




bird 是 Text Value of name
7 是 Text Value of age




1. 遍例所有的 Text:

不停地讀,有 Text 就顯示 Value 直到 EOF

using System;
using System.Xml;

namespace DotNetCoreTest
{
    class Program
    {
        private const string _animalList = @"C:\Users\win-7\Desktop\DotNetCoreTest\DotNetCoreTest\Book.xml";
        
        static void Main(string[] args)
        {
            using (XmlReader reader = XmlReader.Create(_animalList))
            {
                while (reader.Read()) 
                {
                    if (reader.NodeType == XmlNodeType.Text)
                    {   
                        Console.WriteLine(reader.Value);
                    }
                }
            }
        }
    }
}

執行結果如下:

monkey
27
tiger
7
bird
7

2. 遍例所有的 "name" Element:

不停地讀,是 name 的 Element 就顯示其內容直到 EOF

while (reader.Read()) 
{
    if (reader.NodeType == XmlNodeType.Element && 
        reader.Name == "name")
    {
        Console.WriteLine(reader.ReadElementContentAsString());
    }
}

3. 遍例所有的 "age" Element:

不停地讀,是 age 的 Element 就用 int 顯示其內容直到 EOF

while (reader.Read()) 
{
    if (reader.NodeType == XmlNodeType.Element && 
        reader.Name == "age")
    {
        Console.WriteLine(reader.ReadElementContentAsInt());
    }
}

4. 遍例所有的 attribute:

while (reader.Read()) 
{
    if (reader.NodeType == XmlNodeType.Element)
    {
        for (int i = 0; i < reader.AttributeCount; ++i)
        {
            Console.WriteLine(reader.GetAttribute(i));
        }
    }
}

留言

熱門文章