首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从混合类型对象的XML文件生成C#类

从混合类型对象的XML文件生成C#类
EN

Stack Overflow用户
提问于 2019-05-14 05:09:50
回答 1查看 30关注 0票数 0

我有像下面这样的课程

代码语言:javascript
复制
public abstract class MainDTO
{
   public string Id;
   public string CreatedBy;
}

public class SubDTO : MainDTO
{
   public string SubKey;
}

public class LockDTO : SubDTO
{
   public string LockKey;
}

我需要创建一个返回List<MainDTO>的函数。我的xml文件如下所示。

代码语言:javascript
复制
<MainDTOList>  
  <SubDTO>
    <Id>ABC</Id>
    <CreatedBy>XXX</CreatedBy>
    <SubKey>123045</SubKey>
  </SubDTO>
  <LockDTO>
    <Id>GERTE</Id>
    <CreatedBy>VGINA</CreatedBy>
    <SubKey>123045</SubKey>
    <LockKey>L123045</SubKey>
  </LockDTO>
</MainDTOList>

通过使用XmlSerializer,我获得了读取XML文件并在所有对象的类型都不相同时返回对象集合的代码。但在我的例子中,它们是不同的。你能告诉我怎么做吗?

EN

回答 1

Stack Overflow用户

发布于 2019-05-14 05:50:38

我能想到的实现上述目标的简单方法是查看XML结构,我还没有使用过这一点,所以请原谅我的小假设错误

这个想法是创建一个看起来像XML的类,如果值只出现一次,则使用一个看起来像这样的类(作为示例)。

代码语言:javascript
复制
[XmlRoot("MainDTOList")]
public class SomeClass
{
    [XmlElement("SubDTO")]
    public SubDTO SubDTO{get;set;}

    [XmlElement("SubDTO")]
    public LockDTO LockDTO{get;set;}

    ....

}

然后执行一个简单的XmlSerializer. Deserialize来反序列化特定的XML

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56119911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档