2016-03-28 26 views
0

Asp.net 5 denetleyicisinde bir nesneyi xml olarak döndürüyorum. Nesnenin bir liste var ve listenin kök öğesini yok saymak için serializer'a ihtiyacım var. Bu yazının önerisi Use XML serialization to serialize a collection without the parent node'u izledim, ancak bir nedenden ötürü işe yaramazsa, [XmlElement ("newName")]XmlElement Özniteliği, Microsoft.AspNet.Mvc.Formatters.Xml tarafından yok sayılıyor

'u kullanarak adını değiştirmeyi denediğimde bile yok sayılıyor. o?

public partial class Doc { 

    [XmlElement("Detalle")] 
    public List<DefTypeDetalle> Detalle { get; set; } 

} 

public partial class DefTypeDetalle { 

    public Id { get; set; } 
} 

Ve çıkış Ben

<Doc> 
    <Detalle> 
     <DefTypeDetalle> 
      <Id>1<Id/> 
     </DefTypeDetalle> 
     <DefTypeDetalle> 
      <Id>2<Id/> 
     </DefTypeDetalle> 
    </Detalle> 
</Doc> 

olsun Ya istediğim

<Doc> 
    <Detalle> 
     <Id>1<Id/> 
    </Detalle> 
    <Detalle> 
     <Id>2<Id/> 
    </Detalle> 
</Doc> 

sayesinde

+0

Kodu görüyorum Can xml seri hale kullanmak için gerekli,

XmlSerializer serializer = new XmlSerializer(typeof(List<DefTypeDetalle>)); using (TextWriter writer = new StreamWriter(@"your_directory") { serializer.Serialize(writer, your_list) } 
Jace

+0

Tamam, ben kodu ekledim xml –

cevap

1

Yani sorun ben kullanıyordum biçimlendirici oldu deneyin söz konusu
0

Bu verilerin seri konum yol olabilir olduğunu. Ben

mvcBuilder.AddXmlDataContractSerializerFormatters(); 

Startup.cs

vardı ve

mvcBuilder.AddXmlSerializerFormatters(); 
+0

Bu bir MVC projesidir, bu yüzden el ile serileştirme yapılamıyor, xml çıktılar çünkü isteklerin üstbilgisinde bunu soruyorum –

+0

Yalnızca kullanmanız durumunda sonuç farklı mıdır? XmlElement] ad belirtimi olmadan? Listeye Listesinden değişiklik yaparsanız ne olur? – Jace

+0

öznitelik olmadan aynı çıktı ve ben önce bir dizi olarak vardı :( –