📜  c# xpath 读取属性值 - C# (1)

📅  最后修改于: 2023-12-03 15:13:50.002000             🧑  作者: Mango

使用C#和XPath读取XML属性值

在C#中,我们可以使用XPath来访问和处理XML文件中的属性值。在本文中,我们将介绍如何使用C#和XPath读取XML文档中的属性值。

准备工作

首先,我们需要创建一个XML文件,其中包含一些具有不同属性的元素。 以下是示例XML文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <person id="1">
    <name>John</name>
    <age>25</age>
    <country>USA</country>
  </person>
  <person id="2">
    <name>Jane</name>
    <age>30</age>
    <country>Canada</country>
  </person>
</root>
读取XML属性值

接下来,我们将使用C#读取XML文件中的属性值。 我们将使用XPath选择器来选择具有特定属性值的元素,并使用C#从选择的元素中读取属性值。

using System.Xml;
using System.Xml.XPath;

class Program {
    static void Main(string[] args) {

        // Load the XML document
        XmlDocument doc = new XmlDocument();
        doc.Load("people.xml");

        // Create an XPathNavigator to navigate the document
        XPathNavigator nav = doc.CreateNavigator();

        // Select the 'person' elements with id = 1
        XPathNodeIterator nodes = nav.Select("/root/person[@id='1']");

        // Iterate through the selected elements and display the attribute values
        while (nodes.MoveNext()) {
            string name = nodes.Current.SelectSingleNode("name").Value;
            string age = nodes.Current.SelectSingleNode("age").Value;
            string country = nodes.Current.SelectSingleNode("country").Value;

            Console.WriteLine("Name: " + name);
            Console.WriteLine("Age: " + age);
            Console.WriteLine("Country: " + country);
        }
    }
}

在上述代码中,我们首先加载XML文档,然后使用XPathNavigator对象选择具有特定属性值的元素。接下来,我们使用XPathNodeIterator逐个读取每个选择的元素,并显示其属性值。

结论

本文介绍了如何使用C#和XPath读取XML文件中的属性值。XPath是一种非常强大的XML查询语言,使我们能够以一种简单而优雅的方式访问和处理XML文档中的数据。