包含CDATA属性的XML的序列化/反序列化问题
作者:互联网
我需要反序列化/序列化下面的xml文件:
<items att1="val">
<item att1="image1.jpg">
<![CDATA[<strong>Image 1</strong>]]>
</item>
<item att1="image2.jpg">
<![CDATA[<strong>Image 2</strong>]]>
</item>
</items>
我的C#类:
[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; }
}
一切正常,但是在反序列化之后
<![CDATA[<strong>Image 1</strong>]]>
我有
<strong>Image 1</strong>
我试图将XmlCDataSection用作Content属性的类型,但XmlText属性不允许使用此类型.不幸的是,我无法更改XML结构.
我该如何解决这个问题?
解决方法:
这应该有所帮助
private string content;
[XmlText]
public string Content
{
get { return content; }
set { content = XElement.Parse(value).Value; }
}
标签:cdata,xml-serialization,xml,c,net 来源: https://codeday.me/bug/20191208/2092717.html