SORU
28 NİSAN 2011, PERŞEMBE


Xml serileştirme - null değerleri Gizle

Bir standart kullanarak .NET Xml seri hale getirici, tüm boş değerleri saklamak için herhangi bir yolu var mı? Aşağıda benim sınıfın bir örnek çıktı. Eğer null olarak ayarlanmışsa, null tamsayılar çıkış yapmak istemiyorum.

Geçerli Xml çıktısı:

<?xml version="1.0" encoding="utf-8"?>
<myClass>
   <myNullableInt p2:nil="true" xmlns:p2="http://www.w3.org/2001/XMLSchema-instance" />
   <myOtherInt>-1</myOtherInt>
</myClass>

Ben ne istiyorum:

<?xml version="1.0" encoding="utf-8"?>
<myClass>
   <myOtherInt>-1</myOtherInt>
</myClass>

CEVAP
28 NİSAN 2011, PERŞEMBE


Eğer kalıp üyesi seri hale getirmek gerekir ise XmlSerializer söyler ShouldSerialize{PropertyName} bir işlev oluşturabilirsiniz.

Eğer sınıf özelliği MyNullableInt denir, örneğin, olabilir

public bool ShouldSerializeMyNullableInt() 
{
  return MyNullableInt.HasValue;
}

İşte tam bir örnek

public class Person
{
  public string Name {get;set;}
  public int? Age {get;set;}
  public bool ShouldSerializeAge()
  {
    return Age.HasValue;
  }
}

Aşağıdaki kodu ile sıralanmış

Person thePerson = new Person(){Name="Chris"};
XmlSerializer xs = new XmlSerializer(typeof(Person));
StringWriter sw = new StringWriter();
xs.Serialize(sw, thePerson);

Aşağıdaki XML sonuçları - Yaş yoktur hayır Dikkat edin

<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>Chris</Name>
</Person>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GWTLecturer

    GWTLecturer

    18 EKİM 2012
  • lilstevie89

    lilstevie89

    25 Mart 2011
  • POGProductionz

    POGProductio

    27 NİSAN 2012