📜  XML - C# (1)

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

XML - C#

XML (Extensible Markup Language) 是一种用于存储和传输数据的标记语言。C# 是一种现代、通用的编程语言,由微软开发。在 C# 中,我们可以使用各种库和工具来处理和操作 XML 数据。

什么是 XML?

XML 是一种可扩展的标记语言,用于描述和存储数据。它使用自定义的标记(称为元素)来组织数据,并使用标签来定义数据的结构和语义。

XML 具有以下特点:

  • 可读性强:XML 使用类似 HTML 的标记语法,易于阅读和理解。
  • 可扩展性:您可以为自己的应用程序定义自己的标记,并根据需要扩展 XML 的语法。
  • 平台无关性:XML 是与平台无关的,可以在不同的操作系统和编程语言之间轻松传输和解析。
C# 中的 XML 处理

C# 提供了许多内置的库和工具来处理和操作 XML 数据。以下是一些常用的 XML 操作:

创建 XML 文档

你可以使用 C# 中的 XmlDocument 类来创建和编辑 XML 文档。以下示例演示了如何使用 XmlDocument 创建一个简单的 XML 文档:

using System;
using System.Xml;

public class Program
{
    public static void Main()
    {
        XmlDocument doc = new XmlDocument();
        
        // 创建根元素
        XmlElement root = doc.CreateElement("Books");
        doc.AppendChild(root);
        
        // 创建子元素
        XmlElement book1 = doc.CreateElement("Book");
        book1.SetAttribute("id", "1");
        book1.InnerText = "XML Programming";
        root.AppendChild(book1);

        XmlElement book2 = doc.CreateElement("Book");
        book2.SetAttribute("id", "2");
        book2.InnerText = "C# Programming";
        root.AppendChild(book2);
        
        // 保存到文件
        doc.Save("books.xml");
    }
}
解析 XML 文档

C# 中的 XmlDocumentXmlNode 类可以帮助您解析和遍历 XML 文档。以下示例演示了如何解析上述创建的 XML 文档:

using System;
using System.Xml;

public class Program
{
    public static void Main()
    {
        XmlDocument doc = new XmlDocument();
        doc.Load("books.xml");
        
        XmlNodeList books = doc.GetElementsByTagName("Book");
        
        foreach(XmlNode book in books)
        {
            string id = book.Attributes["id"].Value;
            string title = book.InnerText;
            
            Console.WriteLine("Book ID: " + id);
            Console.WriteLine("Title: " + title);
            Console.WriteLine();
        }
    }
}
使用 LINQ to XML

C# 还提供了 LINQ to XML,它是一种方便且灵活的方式来处理 XML 数据。您可以使用 LINQ 查询语法来查询、修改和创建 XML 文档。

以下示例演示了如何使用 LINQ to XML 创建和查询 XML 文档:

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

public class Program
{
    public static void Main()
    {
        XDocument doc = new XDocument(
            new XElement("Books",
                new XElement("Book",
                    new XAttribute("id", "1"),
                    "XML Programming"),
                new XElement("Book",
                    new XAttribute("id", "2"),
                    "C# Programming")
            )
        );
        
        doc.Save("books.xml");
        
        // 查询 XML 文档
        XDocument loadedDoc = XDocument.Load("books.xml");
        
        var books = from book in loadedDoc.Descendants("Book")
                    select new
                    {
                        ID = book.Attribute("id").Value,
                        Title = book.Value
                    };
        
        foreach(var book in books)
        {
            Console.WriteLine("Book ID: " + book.ID);
            Console.WriteLine("Title: " + book.Title);
            Console.WriteLine();
        }
    }
}

以上是 XML 在 C# 中的一些基本操作。使用这些技术,您可以轻松地读取、编辑和创建 XML 数据。无论您是处理配置文件、与 Web 服务通信还是存储结构化数据,XML 都是一种非常有用的工具。

希望本文可以帮助您入门 XML 在 C# 中的操作和使用!