C sharp - Serializar elementos con el mismo nombre

 
Vista:

Serializar elementos con el mismo nombre

Publicado por pele (1 intervención) el 23/12/2021 09:35:34
Hola.

Necesitaba obtener un xml exactamente igual a este:

1
2
3
4
5
<Dimension>
            <element>MM9</element>
            <element>JKS</element>
            <element>FFES</element>
</Dimension>

Tengo la clase dimension asi:
1
2
3
4
5
6
7
8
9
public class Dimension
    {
        [XmlElement("element")]
        public string element1 { get; set; }
        [XmlElement("element")]
        public string element2 { get; set; }
        [XmlElement("element")]
        public string element3 { get; set;
}

Pero al serializar me dice que no puede haber elementos con el mismo nombre("element"). He intentado modificando el nombre con XmlAttributeOverrides, pero me da exactamente el mismo error. ¿Se os ocurre como podía hacer esto?


Uso serialización XML
1
2
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(Dimension.GetType());
 x.Serialize(Console.Out, Dimension);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 7
Ha aumentado 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Serializar elementos con el mismo nombre

Publicado por Ismael (10 intervenciones) el 10/04/2022 19:04:52
Hola,
No te valdría crear en la clase Dimension un List<string> elements, con el atributo "element" Que has indicado, en vez de poner tres elementos?.
Ya que el XML entiende que en listado de strings se van a contener los 3 strings del XML con el nodo element.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar