0
我希望我正確地措詞我的問題。當我們在我們的xsd上運行xsd工具來創建類時,代碼並不完全代表一個部分上的xsd。它是這樣的:XSD工具跳過嵌套級別
XSD: 'BaliseGroups'=>收藏 'BaliseGroup'=>收藏的 '應答器'
代碼: 'BaliseGroups'=>收藏型 '應答器' 名爲 'BaliseGroup' 的。 ..
<xs:element name="BaliseGroups">
<xs:annotation>
<xs:documentation>Een verzameling balisegroepen</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="BaliseGroup" type="tBaliseGroup"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="tBaliseGroup">
<xs:annotation>
<xs:documentation>Een balisegroep, </xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="Balise" type="tBalise" minOccurs="1" maxOccurs="8"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="tBalise">
<xs:annotation>
<xs:documentation>Type voor een balise</xs:documentation>
</xs:annotation>
<xs:complexContent>
<xs:extension base="tTrackAsset"/>
</xs:complexContent>
</xs:complexType>
代碼
public partial class BaliseGroups
{
private tBalise[] baliseGroupField;
/// <remarks/>
[System.Xml.Serialization.XmlArrayItemAttribute("Balise", IsNullable = false)]
public tBalise[] BaliseGroup
{
get
{
return this.baliseGroupField;
}
set
{
this.baliseGroupField = value;
}
}
}
正如你可以在生成的C#代碼塊看到它創建類型的屬性BaliseGroup應答器[]。這應該是tBaliseGroup []類型。
我有一個猜想:有什麼不對的XSD,但我想不出什麼..
BaliseGroups是BaliseGroup類型。 複雜類型BaliseGroup的內容是一個Balise數組。 所以BaliseGroup *包含一個Balise數組,而沒有別的。似乎有理由提供一種方法,從BaliseGroups返回一個Balise數組。 – kimbert
但是,當您反序列化爲XML時,它不會導致'BaliseGroups'=>'BaliseGroup'集合=>'Balise'集合 – Cees