虽然我会将“地址”和“电话号码”元素分别重命名为“地址”和“电话号码”,但您所拥有的看起来是正确的。这意味着XML如下所示:
<Customer>
<CustomerCode>1234</CustomerCode>
<Name>Customer</Name>
...
<Address>
...
</Address>
<Address>
...
</Address>
<PhoneNumber>
...
</PhoneNumber>
<PhoneNumber>
...
</PhoneNumber>
</Customer>
或者,您可能希望将重复的地址和电话号码元素包装在地址和电话号码中-如果您试图映射到WCF数据控件,这通常会使生活更轻松:
<xs:element name="Addresses">
<xs:complexType>
<xs:sequence>
<xs:element name="Address" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Street1" type="xs:string" />
<xs:element name="Street2" type="xs:string" />
<xs:element name="City" type="xs:string" />
<xs:element name="State" type="xs:string" />
<xs:element name="Zip" type="xs:string" />
<xs:element name="Country" type="xs:string" />
<xs:element name="Description" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
这将给您带来如下好处:
<Customer>
<CustomerCode>1234</CustomerCode>
<Name>Customer</Name>
...
<Addresses>
<Address>
...
</Address>
<Address>
...
</Address>
</Addresses>
<PhoneNumbers>
<PhoneNumber>
...
</PhoneNumber>
<PhoneNumber>
...
</PhoneNumber>
</PhoneNumbers>
</Customer>