📅  最后修改于: 2023-12-03 15:39:02.425000             🧑  作者: Mango
在C#里,可以将字符串解析为Xml对象,这样我们就可以通过代码来操作Xml的数据。
我们可以使用下面的方法将字符串转换为Xml对象:
using System.Xml.Linq;
//将字符串解析成Xml对象
XDocument xmlDoc = XDocument.Parse(xmlString);
使用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对象转为字符串
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对象上进行修改并转换为字符串。