Ho problemi serializzazione una sezione CDATA utilizzando C#serializzazione XML - XmlCDataSection come Serialization.XmlText
ho bisogno di serializzare proprietà dell'oggetto XmlCDataSection come InnerText dell'elemento.
il risultato che sto cercando è questo:
<Test value2="Another Test">
<![CDATA[<p>hello world</p>]]>
</Test>
Per produrre questo, sto usando questo oggetto:
public class Test
{
[System.Xml.Serialization.XmlText()]
public XmlCDataSection value { get; set; }
[System.Xml.Serialization.XmlAttributeAttribute()]
public string value2 { get; set; }
}
Quando si utilizza l'annotazione xmltext sulla proprietà di valore il seguente errore è gettato.
System.InvalidOperationException: C'è stato un errore che riflette proprietà 'valore'. ---> System.InvalidOperationException: Impossibile serializzare il "valore" membro di tipo System.Xml.XmlCDataSection. XmlAttribute/XmlText non può essere utilizzato per codificare tipi complessi
Se commento fuori l'annotazione, la serializzazione funzionerà ma la sezione CDATA viene inserito in un elemento di valore che non va bene per quello che sto cercando di fare :
<Test value2="Another Test">
<value><![CDATA[<p>hello world</p>]]></value>
</Test>
Qualcuno può indicarmi la direzione giusta per farlo funzionare.
Grazie, Adam
Che cosa succede se si rimuove '[XmlText]'? –