Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mensiri Rentetan sebagai CDATA Menggunakan XmlSerializer dalam C#?

Bagaimana untuk Mensiri Rentetan sebagai CDATA Menggunakan XmlSerializer dalam C#?

Barbara Streisand
Lepaskan: 2025-01-13 06:59:42
asal
264 orang telah melayarinya

How to Serialize Strings as CDATA Using XmlSerializer in C#?

Menyesuaikan Pensirilan XML untuk Rentetan CDATA dalam C#

Standard .NET XmlSerializer tidak secara langsung mengendalikan rentetan bersiri sebagai bahagian CDATA dalam XML. Walau bagaimanapun, penyelesaian tersuai boleh dilaksanakan untuk mencapai ini. Ini melibatkan penciptaan kelas dengan sifat rentetan awam dan sifat XmlCDataSection yang sepadan, yang digunakan untuk penyirian.

Untuk mencapai ini, kami mencipta sifat yang ditandakan dengan XmlIgnore untuk menahan nilai rentetan dan sifat lain yang dihiasi dengan XmlElement yang mengembalikan XmlCDataSection. Atribut XmlElement menentukan nama elemen XML dan atribut XmlIgnore menghalang siri langsung sifat rentetan.

Contoh Pelaksanaan:

[Serializable]
public class MyClass
{
    public MyClass() { }

    [XmlIgnore] // Prevents direct serialization
    public string MyStringProperty { get; set; }

    [XmlElement("MyString")] // Specifies the XML element name
    public System.Xml.XmlCDataSection MyStringCDATA
    {
        get
        {
            return new System.Xml.XmlDocument().CreateCDataSection(MyStringProperty);
        }
        set
        {
            MyStringProperty = value.Value;
        }
    }
}
Salin selepas log masuk

Contoh Serialisasi:

MyClass myObject = new MyClass();
myObject.MyStringProperty = "<test>Hello World!</test>";

XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
StringWriter writer = new StringWriter();
serializer.Serialize(writer, myObject);
Console.WriteLine(writer.ToString());
Salin selepas log masuk

Coretan kod ini menunjukkan cara menggunakan kelas tersuai untuk mensiri rentetan sebagai bahagian CDATA. Ambil perhatian bahawa output akan berbeza-beza bergantung pada kandungan MyStringProperty. Sifat XmlCDataSection mengendalikan penukaran kepada format CDATA yang sesuai semasa penyirian.

Atas ialah kandungan terperinci Bagaimana untuk Mensiri Rentetan sebagai CDATA Menggunakan XmlSerializer dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan