2016-09-28 78 views
-1

取代我在我的*下面的代碼.xsd文件xsd2code元素獲得通過列表

<xs:element name="node"> 
    <xs:complexType> 
     <xs:sequence> 
     ... 
     </xs:sequence> 
     <xs:attribute name="id" type="xs:string" use="required"/> 
    </xs:complexType> 
    </xs:element> 

    <xs:element name="foo"> 
    <xs:complexType> 
     <xs:sequence> 
     <!-- this should be lists of bar and baz and NOT of node --> 
     <xs:element ref="bar" minOccurs="0" maxOccurs="unbounded"/> 
     <xs:element ref="baz" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 

    <xs:element name="bar"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="node" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    <xs:element name="baz"> 
    <xs:complexType> 
     <xs:sequence> 
     <xs:element ref="node" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 

,但是當我用xsd2code gernerate這個代碼我得到一些奇怪的輸出,其中在FOO酒吧和巴茲屬性列表的節點。我需要bar和baz作爲包含節點列表的類。我怎樣才能做到這一點 ?

public partial class foo { // generated class 

    private List<node> barField; // ?! 

    private List<node> bazField; // ?! 

    // ... 
} 

回答

0

找到了我的問題的解決方案。我只需要設置mixed =「true」。這裏是代碼:

... 
    <xs:element name="bar"> 
    <xs:complexType mixed="1"> 
     <xs:sequence> 
     <xs:element ref="node" minOccurs="0" maxOccurs="unbounded"/> 
     </xs:sequence> 
    </xs:complexType> 
    </xs:element> 
    ... 


public partial class foo { // generated class 

     private List<bar> barField; 

     private List<baz> bazField; 

     // ... 
}