溫馨提示×

如何在C#中查詢XML數(shù)據(jù)

c#
小樊
85
2024-10-14 13:19:59
欄目: 編程語言

在C#中查詢XML數(shù)據(jù),你可以使用System.Xml命名空間中的類,如XDocumentXElement

  1. 首先,確保你的項(xiàng)目中已經(jīng)引用了System.Xml命名空間。

  2. 使用XDocumentXElement類加載XML數(shù)據(jù)。

  3. 使用LINQ to XML查詢語法來查詢XML數(shù)據(jù)。

下面是一個(gè)簡單的示例,說明如何在C#中查詢XML數(shù)據(jù):

假設(shè)你有以下XML數(shù)據(jù):

<?xml version="1.0" encoding="utf-8"?>
<people>
  <person id="1">
    <name>Alice</name>
    <age>30</age>
  </person>
  <person id="2">
    <name>Bob</name>
    <age>25</age>
  </person>
  <person id="3">
    <name>Charlie</name>
    <age>22</age>
  </person>
</people>

要在C#中查詢這些數(shù)據(jù),你可以這樣做:

using System;
using System.Linq;
using System.Xml.Linq;

class Program
{
    static void Main()
    {
        // 加載XML數(shù)據(jù)
        string xmlData = @"
        <?xml version=""1.0"" encoding=""utf-8""?>
        <people>
          <person id=""1"">
            <name>Alice</name>
            <age>30</age>
          </person>
          <person id=""2"">
            <name>Bob</name>
            <age>25</age>
          </person>
          <person id=""3"">
            <name>Charlie</name>
            <age>22</age>
          </person>
        </people>";

        XDocument xdoc = XDocument.Parse(xmlData);

        // 查詢XML數(shù)據(jù)
        var query = from person in xdoc.Descendants("person")
                    where person.Attribute("id").Value == "2"
                    select person;

        foreach (var item in query)
        {
            Console.WriteLine($"Name: {item.Element("name").Value}, Age: {item.Element("age").Value}");
        }
    }
}

在這個(gè)示例中,我們首先加載了XML數(shù)據(jù),然后使用LINQ to XML查詢語法查找具有特定ID的<person>元素。最后,我們遍歷查詢結(jié)果并輸出每個(gè)人的姓名和年齡。

0