Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich XML mit Newtonsoft.json in Json und Json zurück in XML?

Wie konvertiere ich XML mit Newtonsoft.json in Json und Json zurück in XML?

WBOY
WBOYnach vorne
2023-09-12 19:01:06956Durchsuche

如何使用 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'
      }
   ]
}

Das obige ist der detaillierte Inhalt vonWie konvertiere ich XML mit Newtonsoft.json in Json und Json zurück in XML?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen