2016-03-14 1 views
0

Существует следующая XML:Как сериализовать объект для генерации списка дочерних элементов?

<X> 
    <Y att="true">FOO</Y> 
    <Y att="false">BAR</Y> 
    <Y att="true">TEST</Y> 
</X> 

Как я могу создать сериализации класса в C# сериализации и генерировать XML как показано выше XML?

Помните, что я не могу создать больше тегов, мне нужно сгенерировать именно эти XML сериализации объекта.

+0

Нанести '[XmlElement ("Y")]' атрибут всех классов? – CodingGorilla

ответ

3

Это легко, если вам нужен только класс. Я вставил свой XML в this website

и вот результат

/* 
    Licensed under the Apache License, Version 2.0 

    http://www.apache.org/licenses/LICENSE-2.0 
    */ 
using System; 
using System.Xml.Serialization; 
using System.Collections.Generic; 
namespace Xml2CSharp 
{ 
    [XmlRoot(ElementName="Y")] 
    public class Y { 
     [XmlAttribute(AttributeName="att")] 
     public string Att { get; set; } 
     [XmlText] 
     public string Text { get; set; } 
    } 

    [XmlRoot(ElementName="X")] 
    public class X { 
     [XmlElement(ElementName="Y")] 
     public List<Y> Y { get; set; } 
    } 

} 
+0

Большое вам спасибо, я не знаю об атрибуте 'XmlText'. –

+1

Я рад, что помог :) – Shoxik

+1

@OnlyaCuriousMind Лучший дизайн имел бы 'Y.Att' как' bool' и не требовал бы никакой дальнейшей модификации – smartcaveman