Problem mit der Serialisierung/Deserialisierung eine XML mit CDATA-Attribut
Muss ich Deserialisieren/serialisieren der xml-Datei unter:
<items att1="val">
<item att1="image1.jpg">
<![CDATA[<strong>Image 1</strong>]]>
</item>
<item att1="image2.jpg">
<![CDATA[<strong>Image 2</strong>]]>
</item>
</items>
mein C# - Klassen:
[Serializable]
[XmlRoot("items")]
public class RootClass
{
[XmlAttribute("att1")]
public string Att1 {set; get;}
[XmlElement("item")]
public Item[] ArrayOfItem {get; set;}
}
[Serializable]
public class Item
{
[XmlAttribute("att1")]
public string Att1 { get; set; }
[XmlText]
public string Content { get; set; }
}
und alles funktioniert fast perfekt, aber nach der Deserialisierung im Ort
<![CDATA[<strong>Image 1</strong>]]>
Habe ich
<strong>Image 1</strong>
Ich versuchte zu verwenden XmlCDataSection als Typ für die Content-Eigenschaft, aber diese Art ist nicht erlaubt mit der XmlText-Attribut. Leider kann ich das nicht ändern XML-Struktur.
Wie kann ich dieses Problem lösen?
<![CDATA[<strong>Image 1</strong>]]>
und<strong>Image 1</strong>
sind die gleiche Sache. Wo ist dein problem?- Eine weitere Anwendung, welche das xml Lesen hat einige problem mit dem '<stark>Bild 1</strong>',
- Das würde bedeuten, dass diese andere Anwendung kann nicht verstehen, XML-und sollte korrigiert werden.
- wie Sie sagte, weil beide version identisch sind, so ist es nicht meine Schuld 😉 das andere app nicht funktioniert. Ich meldete das problem an Besitzer dieser app und ich bin warten auf ein hotfix. Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
dies sollte helfen,
Dies könnte helfen:
http://www.codingspace.org/2008/03/how-to-serialize-a-string-as-cdata-in-net/
Dies kann auch helfen:
Wie wollen Sie die Serialisierung eines string als CDATA-mit XmlSerializer?
Zuerst deklarieren Sie eine Immobilie als XmlCDataSection
in diesem Fall projectXml ist ein string, der xml -
beim serialisieren Ihre Nachricht haben Sie Ihr Nizza-format (Hinweis )
Meisten der präsentierten Lösungen in StackOverflow funktioniert nur für die Serialisierung, und nicht der Deserialisierung. Dies wird den job tun, und wenn Sie benötigen, um/setzen Sie den Wert von code, verwenden Sie die zusätzliche Eigenschaft PriceUrlByString, die ich Hinzugefügt.