创建一个从从Schema自动生成的类中创建
本文关键字:创建 Schema 从从 自动生成 choice 一个 | 更新日期: 2023-09-27 18:18:18
我有一个模式,我使用xsd工具从该模式生成了一个类(file.cs)。在模式的末尾有一个包含3个节点(记录)的选择组。
在这3条记录中,我需要使用其中一条,即<node2>
。这里我们没有使用BizTalk映射或XSLT来映射,但是我们需要创建该类的对象,然后进行序列化/反序列化,等等,等等(这是要求)。
现在的挑战是我必须从Header访问这个<node2>
,因为这个<choice>
组是在记录下的因此,在我的c#代码中,我能够从<header>
中获得<Id>
和字段,如
schema obj= new Schema();
Schema.Header= new Schema.Header();
Schema.header.Id="something"
Schema.header.name="something"
但是对于选择组,我无法从头记录中访问,因为它的类型是<node1>
, <node2>
和<node3>
,但是有一个为<node2> which contains the field1 and field2.
创建的类
你能告诉我如何从Header访问记录吗?我需要这个来映射。
例如(Schema.xsd)-->schema.cs文件
<Root>
<Header>
<Id></Id>
<Name></name>
<choice>
<node1>
<field2></field2>
<node2>
<field1></field1>
<field2></field2>
<node3>
<field1></field1>
<field2></field2>
</Header>
如果你使用xsd.exe生成你的类,那么你的头类应该有一个object类型的名为Item的属性。您可以将该属性分配给Node1、Node2或Node3类的对象。