用属性反序列化XML CData
本文关键字:CData XML 反序列化 属性 | 更新日期: 2023-09-27 18:13:36
我有一个xml文件,我试着为它写一个类型。在某个时刻,我的大脑冻结了。
这个xml是我能写的最小的。
<Level ID="SomeID">
<Selection Name="AnotherID">
<Content><![CDATA[SomeData]]></Content>
</Selection>
</Level>
在cs中,我想写一个类作为xmlserializer的类型。
public class Level
{
[XmlAttribute]
public string ID {get; set;}
public ??? Selection {get; set;}
//What is the type of CDATA
//Where would the Name Attribute go?
}
选择必须是一个带有属性的类,并且选择的类型是CData。不管CData是什么,它都是一个标准类型,所以我不能设置Name
属性。
我如何解决这个在cs类?
你有一个良好的开端。这应该可以帮助你完成剩下的工作。
public class Level
{
[XmlAttribute]
public string ID {get; set;}
public Selection Selection {get; set;}
}
public class Selection {
[XmlAttribute]
public string Name {get;set;}
public Content Content {get;set;}
}
public class Content {
[XmlText]
public string Data {get;set;}
}
所以要通过对象模型访问CDATA文本你要访问Level.Selection.Content.Data