卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

如何使用 Newtonsoft.json 将 XML 转换为 Json 以及将 Json 转换回 XML?

如何使用 Newtonsoft.json 将 XML 转换为 Json 以及将 Json 转换回 XML?

Json.NET 支持使用 XmlNodeConverter 将 JSON 转换为 XML,反之亦然。

元素、属性、文本、注释、字符数据、处理指令、命名空间和 XML 声明在转换时都会保留两者之间

SerializeXmlNode

JsonConvert 有两个辅助方法用于在 JSON 和 XML 之间进行转换。第一个是 SerializeXmlNode()。此方法采用 XmlNode 并将其序列化为 JSON 文本。

DeserializeXmlNode

JsonConvert 上的第二个帮助器方法是 DeserializeXmlNode()。此方法获取 JSON 文本并将其反序列化为 XmlNode。

示例 1

'
static void Main(string[] args) {
   string xml = @"Alanhttp://www.google1.com Admin1";
   XmlDocument doc = new XmlDocument();
   doc.LoadXml(xml);
   string json = JsonConvert.SerializeXmlNode(doc);
   Console.WriteLine(json);
   Console.ReadLine();
}

输出

'
{"person":{"@id":"1","name":"Alan","url":"http://www.google1.com","role":"Admin1"}}

示例 2

'
static void Main(string[] args) {
   string json = @"{
      '?xml': {
         '@version': '1.0',
         '@standalone': 'no'
      },
      'root': {
         'person': [
            {
            '@id': '1',
            'name': 'Alan',
            'url': 'http://www.google1.com'
            },
            {
            '@id': '2',
            'name': 'Louis',
            'url': 'http://www.yahoo1.com'
            }
         ]
      }
   }";
   XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json);
   Console.WriteLine(json);
   Console.ReadLine();
}

输出

'
'?xml': {
   '@version': '1.0',
   '@standalone': 'no'
},
'root': {
   'person': [
      {
      '@id': '1',
      'name': 'Alan',
      'url': 'http://www.google1.com'
      },
      {
      '@id': '2',
      'name': 'Louis',
      'url': 'http://www.yahoo1.com'
      }
   ]
}
卓越飞翔博客
上一篇: 关闭系统的C/C++程序?
下一篇: __file__(一个特殊变量)在Python中的翻译是:
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏