ho la seguente classe:Serialize proprietà come XML attributo in elemento
[Serializable]
public class SomeModel
{
[XmlElement("SomeStringElementName")]
public string SomeString { get; set; }
[XmlElement("SomeInfoElementName")]
public int SomeInfo { get; set; }
}
che (quando popolato con alcuni dati di prova) e serializzati mediante XmlSerializer.Serialize() genera il seguente XML:
<SomeModel>
<SomeStringElementName>testData</SomeStringElementName>
<SomeInfoElementName>5</SomeInfoElementName>
</SomeModel>
Quello che dovete avere è:
<SomeModel>
<SomeStringElementName Value="testData" />
<SomeInfoElementName Value="5" />
</SomeModel>
c'è un modo per specificare questo come attributi ingegno stai scrivendo il mio codice di serializzazione personalizzato?
Sì, che mi dà lo schema XML ho bisogno ma aggiunge un livello di indirezione inutile e la complessità del modello. Ora invece di Object.SomeProperty, ho Object.SomeProperty.Value. Mi rendo conto che potrei non essere in grado di utilizzarlo in entrambi i modi usando la serializzazione integrata, ma questa è l'essenza della domanda. – IUnknown
Ecco come funziona il serializzatore integrato. –
So che questo è un po 'vecchio, ma vorrei aggiungere operazioni implicita del cast da 'T' a' 'SomeInfo e viceversa. –
Shago