C# 创建一个对象<;选择>;从从架构自动生成的类中分组

C# 创建一个对象<;选择>;从从架构自动生成的类中分组,c#,biztalk,C#,Biztalk,我有一个模式,并使用xsd工具从该模式生成了一个类(file.cs)。 在模式的末尾有一个包含3个节点(记录)的选项组 在这3条记录中,我需要使用其中一条,即。 这里我们不使用BizTalk映射或XSLT进行映射,但我们需要创建此类的对象,然后进行序列化/反序列化等(这是必需的) 现在的挑战是我必须从标题访问此,因为此组正在记录中 因此,在我的C代码中,我能够从类似的 schema obj= new Schema(); Schema.Header= new Schema.Header(); Sc

我有一个模式,并使用xsd工具从该模式生成了一个类(file.cs)。 在模式的末尾有一个包含3个节点(记录)的选项组

在这3条记录中,我需要使用其中一条,即
。 这里我们不使用BizTalk映射或XSLT进行映射,但我们需要创建此类的对象,然后进行序列化/反序列化等(这是必需的)

现在的挑战是我必须从标题访问此
,因为此
组正在记录中 因此,在我的C代码中,我能够从类似的

schema obj= new Schema();
Schema.Header= new Schema.Header();
Schema.header.Id="something"
Schema.header.name="something"
但是对于选择组,我无法从标题记录访问,因为它是
的一种类型。但是为
创建了一个类,其中包含字段1和字段2。

你能帮助我如何从标题中访问记录吗?我需要这个用于映射

例如(Schema.xsd)--->Schema.cs文件

   <Root>
<Header>
<Id></Id>
 <Name></name>
<choice>
 <node1>



如果使用xsd.exe生成类,则头类应具有名为Item of type object的属性。您可以将该属性指定为Node1、Node2或Node3类的对象。

对不起,您的情况不太清楚。“无法从标题访问”的确切含义是什么?你不能从另一个节点访问一个节点。我的意思是有3种类型node1、node2和node3。我关心的是访问node2ie field1和field2下的字段。我可以创建node2类的对象并访问这些字段吗?但我不是必须从标题中获取node2,就像从根目录中遍历一样吗?是的,它有类型为node1、2和3的项,但我如何访问这些字段,即field1和field2…你的意思是说创建该node2类的对象,即node2 nodeobj=new node2()和nodeobj.field1=“”和nodeobj.field2=“”..?是创建node2的第一个对象,然后使用其属性field1和field2。完成后,将此对象指定给item属性
<field2></field2>
<node2>
  <field1></field1>
<field2></field2>
<node3>
 <field1></field1>
 <field2></field2>
 </Header>