C#中XML如何解析

c#
小樊
87
2024-10-14 13:11:59

在C#中,可以使用System.Xml命名空間中的類來(lái)解析XML文檔。下面是一個(gè)簡(jiǎn)單的示例,演示如何使用C#解析XML文檔:

  1. 首先,創(chuàng)建一個(gè)名為sample.xml的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<students>
  <student id="1">
    <name>張三</name>
    <age>20</age>
  </student>
  <student id="2">
    <name>李四</name>
    <age>22</age>
  </student>
</students>
  1. 接下來(lái),使用C#編寫(xiě)一個(gè)簡(jiǎn)單的程序來(lái)解析sample.xml文件:
using System;
using System.Xml;

namespace XmlParsingExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加載XML文檔
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("sample.xml");

            // 獲取根元素
            XmlElement rootElement = xmlDoc.DocumentElement;

            // 遍歷子元素
            foreach (XmlNode node in rootElement.ChildNodes)
            {
                // 檢查是否為學(xué)生元素
                if (node.Name == "student")
                {
                    // 獲取學(xué)生ID
                    XmlAttribute idAttribute = node.Attributes["id"];
                    string studentId = idAttribute.Value;

                    // 獲取學(xué)生姓名和年齡
                    XmlNode nameNode = node.SelectSingleNode("name");
                    XmlNode ageNode = node.SelectSingleNode("age");
                    string studentName = nameNode.InnerText;
                    int studentAge = Convert.ToInt32(ageNode.InnerText);

                    // 輸出學(xué)生信息
                    Console.WriteLine($"學(xué)生ID: {studentId}, 姓名: {studentName}, 年齡: {studentAge}");
                }
            }
        }
    }
}

運(yùn)行上述程序,將輸出以下結(jié)果:

學(xué)生ID: 1, 姓名: 張三, 年齡: 20
學(xué)生ID: 2, 姓名: 李四, 年齡: 22

這個(gè)示例展示了如何使用C#的XmlDocument類加載、解析和遍歷XML文檔。你可以根據(jù)需要修改這個(gè)示例,以適應(yīng)你的具體需求。

0