Tengo una clase preexistente serializable genéricamente con
System.Xml.Serialization.XmlSerializer, esta clase tiene unas propiedades
que se serializan como elementos y otras como atributos. Ahora debo agregar
una nueva propiedad de tipo Dictionary<string,string>.
¿Podrían ayudarme para lograr que el contenido <Key,Value> de esta nueva
propiedad Dictionary se serialize como atributos dentro de un elemento?
¿Creen que será necesario extender el tipo Dictionary e implementarle un
serializador customizado?
Clase original:
public class Class1
{
public Class1(){}
[System.Xml.Serialization.XmlAttribute(AttributeName =
"Atrib1")]
public int Prop1
{
get;
set;
}
[System.Xml.Serialization.XmlAttribute(AttributeName =
"Atrib2")]
public string Prop2
{
get;
set;
}
[System.Xml.Serialization.XmlElement(ElementName = "Prop3",
Order = 0)]
public string Prop3
{
get;
set;
}
}
A esa clase debo agregar una nueva propiedad:
public Dictionary<string,string> Prop4 { get; set; }
Para obtener un resultado serializado en XML del tipo:
<root>
<Prop3 Atrib1="xxx" Atrib2="yyy" Prop4Key1=" Prop4Value1"
Prop4Key2=" Prop4Value2" Prop4KeyN=" Prop4ValueN" />
</root>