将未知部分反序列化为List或Dictionary

时间:2011-09-23 19:27:38

标签: c# xml-serialization

我有以下XML文件:

<Error>0</Error>
<Description>1</Description>
<Document>
  <ObjectID>06098INF1761320</ObjectID>
  <ced>109340336</ced>
  <abstract>DAVID STEVENSON</abstract>
  <ced_a />
  <NAM_REC />
  <ced_ap2 />
</Document>

所以我使用这个对象结构在C#(4.0)上反序列化它:

        [XmlElement("Error")]
        public string Error { get; set; }

        [XmlElement("Description")]
        public string Description { get; set; }

        [XmlElement("Document")]
        public List<EDocument> LstDocument { get; set; }

所以这是我的问题:元素“文档”有未知的子元素:ObjectID,ced等,有没有一种方法可以将这些unknows元素反序列化为List,Array,Dictionary或者要迭代的东西(像这样的东西,它不一定非常像这样,我只是在猜测):

object.LstDocument[0].ListDocument.name; //to get the name
object.LstDocument[0].ListDocument.value; //to get the value

任何帮助都将不胜感激。

编辑1:

为我的问题添加一些额外的说明: “Document”元素下的子节点是未知的,因为它们是可变的,我的意思是在某个时刻我可以拥有“ObjectID”和“ced”,在其他时刻它们可以是“ced”,“ABC”等。我不确定哪些元素作为子节点出现,我只知道它们是元素(不是属性),并且它们内部没有任何子节点。

0 个答案:

没有答案