C# 如何使用提供的xsd模式序列化大量对象?
我有大量的对象需要转换成xml,必须根据给定的XSD进行验证 类结构不是很复杂,但是有二十个属性和两个子类列表 i、 e: 但创建Xelement的过程非常缓慢,对于200个对象,我需要序列化50000个对象,这需要几分钟的时间 我考虑过XmlSerializer,但类和xsd不匹配 更新:C# 如何使用提供的xsd模式序列化大量对象?,c#,.net,serialization,xsd,C#,.net,Serialization,Xsd,我有大量的对象需要转换成xml,必须根据给定的XSD进行验证 类结构不是很复杂,但是有二十个属性和两个子类列表 i、 e: 但创建Xelement的过程非常缓慢,对于200个对象,我需要序列化50000个对象,这需要几分钟的时间 我考虑过XmlSerializer,但类和xsd不匹配 更新: 我创建了将基类映射到它的自定义类。然后使用XmlSerializer及其属性将对象序列化为xml。非常快。这个XDocument Linq2Xml很简单,但是 旧数据集怎么样? 有两种方法: 在Visual
我创建了将基类映射到它的自定义类。然后使用XmlSerializer及其属性将对象序列化为xml。非常快。这个XDocument Linq2Xml很简单,但是 旧数据集怎么样? 有两种方法: 在Visual Studio中生成: 将xsd添加到C项目中。 从“解决方案资源管理器”中打开文件“使用打开”,选择“数据集编辑器…”是是。。。 单击数据集并转到属性 将名称设置为[your_class],并将自定义工具设置为MSDataSetGenerator 现在,VS将生成后面的代码。然后可以在代码中使用生成的类。 或者,从“开始”菜单->Visual Studio->Visual Studio工具->Visual Studio提示 具有可用于生成类的XSD.EXE
如果您想使用XMLSerialZER,可以使用XSL样式表进行XSLCOMPLIDED转换,以将XML文档从一种格式转换为另一种格式。
< P>我想,例如,您可能需要考虑使用您所选择的模板引擎。首先必须创建符合模式的XML模板,然后使用模板引擎使用实际数据呈现模板 对于NHaml,其大致如下所示:%Person
%Address
%Street = person.Street
%Town = person.Town
%City = person.City
...
%FinancialData
- foreach (var account in person.Accounts)
%Account
%No
= account.No
...
<Person>
<Address>
<Street/><Town/><City/>
</Address>
<FinancialData>
<Income/><Tax/>
</FinancialData>
<Accounts>
<Account>
<No>1</No>
...
</Accounts>
</Person>
XElement document = new XElement("Person",
new XElement("Address",
new XElement("Street", this.Street),
new XElement("City", this.City),
new XElement("FinancialData",
new XElement("Income", this.Income), ...
%Person
%Address
%Street = person.Street
%Town = person.Town
%City = person.City
...
%FinancialData
- foreach (var account in person.Accounts)
%Account
%No
= account.No
...