C# XML与Json之间相互转换实例详解
本文将详细讲解在C#中如何实现XML与Json之间的相互转换。
1. XML转Json实例
首先我们需要引入System.Xml和Newtonsoft.Json两个命名空间,代码如下:
using System.Xml;
using Newtonsoft.Json;
我们首先需要创建一个XML文档,然后将其转换成Json格式。下面是一个示例XML文档:
<?xml version="1.0" encoding="UTF-8"?>
<person>
<name>Tom</name>
<age>20</age>
<gender>male</gender>
</person>
下面是将XML文档转换成Json格式的代码:
string xmlStr = @"<?xml version='1.0' encoding='UTF-8'?>
<person>
<name>Tom</name>
<age>20</age>
<gender>male</gender>
</person>";
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(xmlStr);
string jsonStr = JsonConvert.SerializeXmlNode(xmlDoc);
上述代码中,我们先将XML文档存储在一个字符串变量中,然后使用XmlDocument类将XML文档载入到内存中。接着,使用JsonConvert类的SerializeXmlNode方法将XmlDocument对象转换成Json字符串。
输出结果如下:
{
"person": {
"name": "Tom",
"age": "20",
"gender": "male"
}
}
2. Json转XML实例
接下来我们需要将一个Json字符串转换成XML文档。下面是一个示例Json字符串:
{
"person": {
"name": "Tom",
"age": "20",
"gender": "male"
}
}
下面是将Json字符串转换成XML文档的代码:
string jsonStr = @"{
'person': {
'name': 'Tom',
'age': '20',
'gender': 'male'
}
}";
XmlDocument xmlDoc = JsonConvert.DeserializeXmlNode(jsonStr, "person");
上述代码中,我们先将Json字符串存储在一个字符串变量中,然后使用JsonConvert类的DeserializeXmlNode方法将Json字符串转换成XmlDocument对象。
输出结果如下:
<person>
<name>Tom</name>
<age>20</age>
<gender>male</gender>
</person>
3. 总结
本文介绍了在C#中如何实现XML与Json之间的相互转换,其中为读者详细讲解了两个示例,分别是将XML文档转换成Json格式和将Json字符串转换成XML文档。对于较为复杂的XML文档和Json字符串,读者需要对代码进行适当的更改。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# XML与Json之间相互转换实例详解 - Python技术站