📜  字符串到xml c#(1)

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

字符串到Xml C# 解析

在C#里,可以将字符串解析为Xml对象,这样我们就可以通过代码来操作Xml的数据。

将字符串转为Xml对象

我们可以使用下面的方法将字符串转换为Xml对象:

using System.Xml.Linq;

//将字符串解析成Xml对象
XDocument xmlDoc = XDocument.Parse(xmlString);
解析Xml对象

使用Xml对象后,我们可以使用Linq to Xml查询Xml内容,例如:

//查询一个Xml元素的值
string firstName = xmlDoc.Descendants("FirstName").First().Value;

//修改一个Xml元素的值
xmlDoc.Descendants("FirstName").First().SetValue("New Name");

//添加一个新的Xml元素
xmlDoc.Descendants("Person").First().Add(new XElement("BirthDate", "01/01/2000"));

//删除一个Xml元素
xmlDoc.Descendants("BirthDate").First().Remove();
将Xml对象转换为字符串

如果我们需要将Xml对象保存到文件或传输到其他系统中,我们需要将其转换为字符串。下面是将Xml对象转换为字符串的代码:

//将Xml对象转为字符串
string xmlString = xmlDoc.ToString();
完整示例代码

下面是一个完整的示例代码,可以将Xml字符串读取,修改并转换回Xml字符串:

using System;
using System.Xml.Linq;

class Program
{
    static void Main(string[] args)
    {
        //Xml字符串
        string xmlString = @"
        <Persons>
            <Person>
                <FirstName>John</FirstName>
                <LastName>Doe</LastName>
            </Person>
            <Person>
                <FirstName>Jane</FirstName>
                <LastName>Smith</LastName>
            </Person>
        </Persons>";

        //将Xml字符串解析成Xml对象
        XDocument xmlDoc = XDocument.Parse(xmlString);

        //修改Xml对象
        xmlDoc.Descendants("FirstName").First().SetValue("New Name");

        //将Xml对象转为字符串
        string newXmlString = xmlDoc.ToString();

        //输出结果
        Console.WriteLine(newXmlString);
    }
}

输出结果:

<Persons>
  <Person>
    <FirstName>New Name</FirstName>
    <LastName>Doe</LastName>
  </Person>
  <Person>
    <FirstName>Jane</FirstName>
    <LastName>Smith</LastName>
  </Person>
</Persons>

这就是如何将字符串解析为Xml对象,在Xml对象上进行修改并转换为字符串。