Takip et

C# – JSON ve XML Arasında Dönüştürme İşlemleri

Json.NET, XmlNodeConverter‘ı kullanarak JSON‘u XML‘e ve XML‘i JSON‘a dönüştürmeyi destekler.
Elemanlar, nitelikler, metin, yorumlar, karakter verileri, işleme talimatları, ad alanları ve XML bildirimi ikisi arasında dönüşüm sağlanırken korunur. (C# – JSON ve XML Arasında Dönüştürme İşlemleri)

Özellikler

JSON ve XML Elemanları değişmeden kalır.
Elemanların önüne bir @ işareti konur ve bu nesnenin başında olur.
Karakter verileri, açıklamalar, boşluklar ve önemli boşluk düğümlerine sırasıyla # cdata-section, #comment, #whitespace ve # significant-whitespace üzerinden erişilir.
Aynı seviyede aynı ada sahip birden fazla düğüm bir araya getirilerek bir dizi haline getirilir.
Boş öğeler yine boş olarak dönüştürme işlemine tabi tutulur.

Not: Uygulamanızda kullanılan Json.NET sürümü, XML dönüştürme yöntemlerinin kullanılabilirliğini değiştirecektir. Framework XmlDocument’ı desteklediğinde SerializeXmlNode / DeserializeXmlNode kullanılabilir.

XML – JSON Dönüştürme Örneği (SerializeXmlNode)

string xml = @"<?xml version='1.0' standalone='no'?>
<root>
<person id='1'>
<name>Alan</name>
<url>http://www.google.com</url>
</person>
<person id='2'>
<name>Louis</name>
<url>http://www.yahoo.com</url>
</person>
</root>";

XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

string jsonText = JsonConvert.SerializeXmlNode(doc);
//{
//  "?xml": {
//    "@version": "1.0",
//    "@standalone": "no"
//  },
//  "root": {
//    "person": [
//      {
//        "@id": "1",
//        "name": "Alan",
//        "url": "http://www.google.com"
//      },
//      {
//        "@id": "2",
//        "name": "Louis",
//        "url": "http://www.yahoo.com"
//      }
//    ]
//  }
//}

JSON – XML Dönüştürme Örneği (DeserializeXmlNode)

string json = @"{
  '?xml': {
    '@version': '1.0',
    '@standalone': 'no'
  },
  'root': {
    'person': [
      {
        '@id': '1',
        'name': 'Alan',
        'url': 'http://www.google.com'
      },
      {
        '@id': '2',
        'name': 'Louis',
        'url': 'http://www.yahoo.com'
      }
    ]
  }
}";

XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json);
// <?xml version="1.0" standalone="no"?>
// <root>
//   <person id="1">
//     <name>Alan</name>
//     <url>http://www.google.com</url>
//   </person>
//   <person id="2">
//     <name>Louis</name>
//     <url>http://www.yahoo.com</url>
//   </person>
// </root>

 

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version