📜  c# 将字符串解析为 xml - C# (1)

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

C# 将字符串解析为 XML

在 C# 中,可以使用 System.Xml 命名空间下的类来将字符串解析为 XML,其中最常用的是 XmlDocument 类和 XmlReader 类。在本文中,我们将介绍如何使用这两个类来实现字符串到 XML 的转换。

使用 XmlDocument 类解析字符串为 XML

XmlDocument 类是一个非常常用的 XML 操作类,它可以将 XML 解析为一个 Document 对象,然后再对其进行操作。以下是使用 XmlDocument 类解析字符串为 XML 的步骤:

1. 创建 XmlDocument 对象
XmlDocument xmlDoc = new XmlDocument();
2. 载入要解析的 XML 字符串
string strXml = "<book><title>Harry Potter</title><author>J.K. Rowling</author></book>";
xmlDoc.LoadXml(strXml);
3. 对 XmlDocument 进行操作
XmlNodeList nodeList = xmlDoc.GetElementsByTagName("title");
foreach (XmlNode node in nodeList)
{
    Console.WriteLine(node.InnerText);
}

以上代码将输出:

Harry Potter
使用 XmlReader 类解析字符串为 XML

XmlReader 类是一个轻量级的 XML 操作类,不需要将整个 XML 文档读入内存,而是逐步读取 XML 节点。以下是使用 XmlReader 类解析字符串为 XML 的步骤:

1. 创建 XmlReader 对象
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
XmlReader xmlReader = XmlReader.Create(new StringReader(strXml), settings);
2. 读取 XmlReader 对象
while (xmlReader.Read())
{
    if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "title")
    {
        Console.WriteLine(xmlReader.ReadElementContentAsString());
    }
}

以上代码也会输出:

Harry Potter
总结

以上就是使用 C# 将字符串解析为 XML 的方法。根据需要选择 XmlDocument 类或 XmlReader 类来实现转换。