Menindas Nilai Null dalam .NET XML Serialisasi
Pensiri .NET XML lalai termasuk nilai nol, selalunya ditandakan dengan atribut "nihil". Ini boleh membawa kepada output XML yang kurang ideal. Artikel ini menunjukkan teknik untuk menghilangkan nilai nol secara bersih daripada XML bersiri anda.
Kami boleh memanfaatkan atribut [XmlIgnore]
atau melaksanakan logik siri tersuai untuk mencapai ini.
Kaedah 1: Menggunakan [XmlIgnore]
Atribut
Pendekatan paling mudah ialah menggunakan atribut [XmlIgnore]
. Atribut ini mengarahkan penyiri untuk mengabaikan sifat sepenuhnya semasa penyirian.
public class MyClass { [XmlIgnore] public int? MyNullableInt { get; set; } public int MyOtherInt { get; set; } }
Di sini, MyNullableInt
akan dikecualikan daripada XML tanpa mengira nilainya.
Kaedah 2: Pensiri Tersuai dengan ShouldSerialize
Untuk lebih kawalan, buat kaedah ShouldSerialize
tersuai. Kaedah ini menentukan sama ada sesuatu harta perlu disiri berdasarkan nilainya.
public class MyClass { private int? _myNullableInt; [XmlIgnore] public int? MyNullableInt { get => _myNullableInt; set => _myNullableInt = value; } public int MyOtherInt { get; set; } public bool ShouldSerializeMyNullableInt() { return _myNullableInt.HasValue; } }
Kaedah ShouldSerializeMyNullableInt
mengembalikan true
hanya apabila MyNullableInt
memegang nilai; jika tidak, ia ditinggalkan daripada XML. Ini memberikan kawalan terperinci ke atas nilai nol yang disertakan.
Dengan menggunakan salah satu kaedah ini, anda boleh mengurus nilai nol dengan berkesan semasa penyirian XML .NET, menghasilkan output XML yang lebih bersih dan tersuai.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyembunyikan Nilai Null dalam Pensirian XML .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!