Maison  >  Article  >  développement back-end  >  Comment convertir XML en Json et Json en XML à l'aide de Newtonsoft.json ?

Comment convertir XML en Json et Json en XML à l'aide de Newtonsoft.json ?

WBOY
WBOYavant
2023-09-12 19:01:061013parcourir

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

Json.NET prend en charge l'utilisation de XmlNodeConverter pour convertir JSON en XML et vice versa.

Les éléments, attributs, textes, commentaires, données de caractères, instructions de traitement, espaces de noms et déclarations XML sont conservés entre les deux lors de la conversion

SerializeXmlNode

JsonConvert dispose de deux méthodes d'assistance pour la conversion entre JSON et XML Convert. Le premier est SerializeXmlNode(). Cette méthode prend un XmlNode et le sérialise en texte JSON.

DeserializeXmlNode

La deuxième méthode d'assistance sur JsonConvert est DeserializeXmlNode(). Cette méthode prend le texte JSON et le désérialise en XmlNode.

Exemple 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();
}

Sortie

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

Exemple 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();
}

Sortie

'?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'
      }
   ]
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer