ile kullanmaktan kaçınarak .NET 4.0'da .NET'in DataContractSerializer'ı kullanarak XML'e dönüştürdüğüm bir dizi dersim var. Serileştirme gayet iyi çalışıyor ve XML'i ayrıştırabilir ve .NET nesnelerini herhangi bir zorluk olmadan daha sonra yeniden oluşturabilirim."http://www.w3.org/2001/XMLSchema-instance" ad alanını .Net DataContractSerializer
Ancak, DataMember'lerin çoğu gerekli değildir. [DataMember (IsRequired = false)]. Bu, XML düğümünü serileştirmek için harikadır, burada XML düğümünü belgeden çıkarırsınız, ancak bir XML nesnesine bir exisiting nesnesini serileştirirken, DataContractSerializer bir özniteliği olan düğümler olarak boş değerlere sahip olan özellikleri yazmakta ısrar eder.
<response xmlns="http://domain.com/name" xmlns:i="http://www.w3.org/2001/XmlSchema-instance">
<count>4</count>
<info i:nil="true" />
<metadata i:nil="true" />
</response>
yerine düğümü yazmayın için DataContractSerializer almak için herhangi bir yolu var mı:
[DataContract(Name = "response", Namespace = "http://domain.com/name")]
public class MyResponseClass
{
[DataMember(Name = "count", IsRequired = true, Order = 0)]
public int Count { get; set; }
[DataMember(Name = "info", IsRequired = false, Order = 1)]
public InfoClass Info { get; set; }
[DataMember(Name = "metadata", IsRequired = false, Order = 2)]
public MetadataList Metadatas { get; set; }
}
Ben nesneyi tefrika halinde oluşturduğu, ancak
<response xmlns="http://domain.com/name">
<count>4</count>
</response>
den serileştirilebilir , null değeri olduğunda?
Sen örneğini bıraktı. –
İyi fark ettim ... Kesim ve yapıştırmayla ilgili bir şeyler ters gitti ... –