温馨提示×

c# xpath在哪使用

c#
小樊
90
2024-09-19 19:49:26
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中,要使用XPath来查询XML文档,你需要使用System.XmlSystem.Xml.Linq命名空间中的类。以下是两种方法的示例:

方法1:使用System.Xml命名空间

using System;
using System.Xml;

class Program
{
    static void Main()
    {
        string xml = @"
            <books>
                <book id='1'>
                    <title>Book 1</title>
                    <author>Author 1</author>
                </book>
                <book id='2'>
                    <title>Book 2</title>
                    <author>Author 2</author>
                </book>
            </books>";

        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xml);

        XmlNodeList bookList = doc.SelectNodes("//book");

        foreach (XmlNode book in bookList)
        {
            Console.WriteLine("Book ID: " + book.Attributes["id"].Value);
            Console.WriteLine("Title: " + book.SelectSingleNode("title").InnerText);
            Console.WriteLine("Author: " + book.SelectSingleNode("author").InnerText);
            Console.WriteLine();
        }
    }
}

方法2:使用System.Xml.Linq命名空间

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

class Program
{
    static void Main()
    {
        string xml = @"
            <books>
                <book id='1'>
                    <title>Book 1</title>
                    <author>Author 1</author>
                </book>
                <book id='2'>
                    <title>Book 2</title>
                    <author>Author 2</author>
                </book>
            </books>";

        XDocument doc = XDocument.Parse(xml);

        var bookList = doc.Descendants("book");

        foreach (var book in bookList)
        {
            Console.WriteLine("Book ID: " + book.Attribute("id").Value);
            Console.WriteLine("Title: " + book.Element("title").Value);
            Console.WriteLine("Author: " + book.Element("author").Value);
            Console.WriteLine();
        }
    }
}

在这两个示例中,我们首先创建了一个包含书籍信息的XML字符串。然后,我们分别使用XmlDocumentXDocument类加载XML字符串,并使用XPath查询(//book)来获取所有书籍节点。最后,我们遍历查询结果并输出书籍的ID、标题和作者。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c# xpath性能如何提升

0