有没有一种方法可以使用xsd或xsd2Code生成单独的xml元素属性而不是集合属性

问题描述

我正在尝试使用xsd或xsd2code从XSD文件生成c#类。 XSD文件来自第三方,无法修改

它确实会生成类,但是它们包含这样的块。

[XmlElement("ABOUT_VERSIONS",typeof(ABOUT_VERSIONS),Order=0)]
[XmlElement("ASSETS",typeof(ASSETS),Order=0)]
[XmlElement("COLLAteraLS",typeof(COLLAteraLS),Order=0)]
[XmlElement("COMMUNICATION_EVENTS",typeof(COMMUNICATION_EVENTS),Order=0)]
[XmlElement("DEAL_DETAIL",typeof(DEAL_DETAIL),Order=0)]
[XmlElement("EXPENSES",typeof(EXPENSES),Order=0)]
[XmlElement("EXTENSION",typeof(DEAL_EXTENSION),Order=0)]
[XmlElement("LIABILITIES",typeof(LIABILITIES),Order=0)]
[XmlElement("LITIGATIONS",typeof(LITIGATIONS),Order=0)]
[XmlElement("LOANS",typeof(LOANS),Order=0)]
[XmlElement("PARTIES",typeof(PARTIES),Order=0)]
[XmlElement("REFERENCE",typeof(REFERENCE),Order=0)]
[XmlElement("RELATIONSHIPS",typeof(RELATIONSHIPS),Order=0)]
[XmlElement("SERVICES",typeof(SERVICES),Order=0)]
[XmlElement("SUPPORTING_RECORD_SETS",typeof(SUPPORTING_RECORD_SETS),Order=0)]
public List<object> Items { get; set; }

在过去的简单类中,我只是手动编辑了输出以使类有用,将其替换为类似的

[XmlElement("ABOUT_VERSIONS",Order=0)])]
public List<ABOUT_VERSIONS> ABOUT_VERSIONS { get; set; }
[XmlElement("ASSETS",Order=0)])]
public List<ASSETS> ASSETS { get; set; }
...

输出非常大(输出文件将近9MB),并且输出充满了类似的块。遍历和手动编辑自动生成的类将花费几天的时间,只有在下次他们发布更新时才需要再次进行编辑(如果您好奇,这是MISMO消息标准。这是由xml编写的xml数据传输标准一群非技术性银行业高管。这可能比您想象的要糟糕。)

是否有一种方法可以强制xsd或xsd2code或其他工具自动生成将每个可能的子类分成各自的列表而不是将它们汇总到一个对象列表中的c#类?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)