Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan format data XML dan JSON untuk penyimpanan dan penghantaran data dalam C# dan penyelesaian

Cara menggunakan format data XML dan JSON untuk penyimpanan dan penghantaran data dalam C# dan penyelesaian

王林
王林asal
2023-10-09 16:58:421393semak imbas

Cara menggunakan format data XML dan JSON untuk penyimpanan dan penghantaran data dalam C# dan penyelesaian

Cara menggunakan format data XML dan JSON untuk penyimpanan dan penghantaran data dalam C# dan penyelesaian

XML dan JSON ialah dua format standard yang kini digunakan secara meluas dalam pertukaran dan penyimpanan data. Dalam C#, kita boleh menggunakan perpustakaan dan alatan terbina dalam untuk memproses dan memanipulasi data XML dan JSON. Artikel ini akan memperkenalkan secara terperinci cara menggunakan XML dan JSON untuk penyimpanan dan penghantaran data dalam C#, dan memberikan contoh kod khusus.

1. Format data XML

XML (Bahasa Penanda Boleh Diperluas) ialah format standard untuk menyimpan dan menghantar data. Dalam C#, kita boleh menggunakan kelas yang disediakan oleh ruang nama System.Xml untuk membaca dan menulis data XML.

1.1 Membaca data XML

Pertama, kita perlu mencipta objek XmlDocument dan memuatkan data XML ke dalam objek. Berikut ialah contoh kod yang membaca fail XML dan mencetak data ke konsol:

using System;
using System.Xml;

public class Program
{
    public static void Main()
    {
        // 创建XmlDocument对象
        XmlDocument xmlDoc = new XmlDocument();
        
        // 加载XML文件
        xmlDoc.Load("data.xml");
        
        // 获取根节点
        XmlNode rootNode = xmlDoc.SelectSingleNode("root");
        
        // 遍历子节点
        foreach(XmlNode node in rootNode.ChildNodes)
        {
            Console.WriteLine("Name: " + node.Name);
            Console.WriteLine("Value: " + node.InnerText);
        }
    }
}

Dalam kod di atas, kami memuatkan fail XML menggunakan kaedah XmlDocument.Load() dan pilih nod akar menggunakan kaedah SelectSingleNode() . Kami kemudiannya boleh mendapatkan nama nod dan nilai nod dengan mengulangi nod anak.

1.2 Penulisan data XML

Jika kita ingin menulis data pada fail XML, kita boleh menggunakan kaedah yang disediakan oleh objek XmlDocument untuk mencipta nod dan menetapkan atribut dan nilai nod. Berikut ialah contoh kod yang menulis data ke fail XML:

using System;
using System.Xml;

public class Program
{
    public static void Main()
    {
        // 创建XmlDocument对象
        XmlDocument xmlDoc = new XmlDocument();
        
        // 创建根节点
        XmlNode rootNode = xmlDoc.CreateElement("root");
        
        // 创建子节点
        XmlNode childNode1 = xmlDoc.CreateElement("name");
        childNode1.InnerText = "John";
        
        XmlNode childNode2 = xmlDoc.CreateElement("age");
        childNode2.InnerText = "25";
        
        // 将子节点添加到根节点
        rootNode.AppendChild(childNode1);
        rootNode.AppendChild(childNode2);
        
        // 将根节点添加到XmlDocument对象
        xmlDoc.AppendChild(rootNode);
        
        // 保存XmlDocument对象到文件
        xmlDoc.Save("data.xml");
    }
}

Dalam kod di atas, kami mencipta nod menggunakan kaedah CreateElement() yang disediakan oleh objek XmlDocument dan menetapkan nilai nod menggunakan sifat InnerText. Kami kemudian menambah nod anak pada nod akar dan menambah nod akar pada objek XmlDocument melalui kaedah AppendChild(). Akhir sekali, kita boleh menyimpan objek XmlDocument ke fail XML menggunakan kaedah Save().

2. Format data JSON

JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan. Dalam C#, kita boleh menggunakan perpustakaan Newtonsoft.Json untuk mensiri dan menyahsiri data JSON.

2.1 Pensirian data JSON

Pertama, kita perlu mensirikan objek C# ke dalam data JSON. Berikut ialah kod sampel untuk mensirikan objek C# ke dalam data JSON dan mencetaknya ke konsol:

using System;
using Newtonsoft.Json;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        // 创建Person对象
        Person person = new Person
        {
            Name = "John",
            Age = 25
        };
        
        // 序列化Person对象为JSON数据
        string json = JsonConvert.SerializeObject(person);
        
        // 打印JSON数据
        Console.WriteLine(json);
    }
}

Dalam kod di atas, kami menggunakan kaedah JsonConvert.SerializeObject() untuk mensiri objek Person ke dalam data JSON dan menggunakan Console . Kaedah WriteLine() mencetak data JSON.

2.2 Penyahserialisasian data JSON

Jika kita mempunyai rentetan yang mengandungi data JSON, kita boleh menyahsirikannya menjadi objek C#. Berikut ialah kod sampel yang menyahsiri data JSON menjadi objek C# dan mencetaknya ke konsol:

using System;
using Newtonsoft.Json;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Program
{
    public static void Main()
    {
        // JSON数据
        string json = "{"Name":"John","Age":25}";
        
        // 反序列化JSON数据为Person对象
        Person person = JsonConvert.DeserializeObject<Person>(json);
        
        // 打印Person对象的属性
        Console.WriteLine("Name: " + person.Name);
        Console.WriteLine("Age: " + person.Age);
    }
}

Dalam kod di atas, kami menggunakan kaedah JsonConvert.DeserializeObject() untuk menyahsiri data JSON menjadi objek Person dan menggunakan The Console Kaedah .WriteLine() mencetak sifat objek Orang.

Ringkasnya, dengan menggunakan perpustakaan dan alatan terbina dalam dalam C#, kami boleh memproses dan memanipulasi data XML dan JSON dengan mudah. Di atas ialah pengenalan terperinci untuk menggunakan XML dan JSON untuk penyimpanan dan penghantaran data dalam C#, dan menyediakan contoh kod khusus.

Atas ialah kandungan terperinci Cara menggunakan format data XML dan JSON untuk penyimpanan dan penghantaran data dalam C# dan penyelesaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn