在C#類中使用xsd.exe,有沒有辦法用嵌套類型生成xsd文件,而不是全局類型?使用xsd.exe生成嵌套類型而不是全局類型
我想使用這個xsd文件,SSIS - Sql服務器集成服務,看看SSIS是不是很好的讀我的xsd。
我想產生這樣的XSD,與嵌套類型:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Country">
<xs:complexType>
<xs:sequence>
<xs:element name="City">
<xs:complexType>
<xs:sequence>
<xs:element name="CityName" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CoutryName" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
但XSD.EXE產生這種與全球類型和SSIS不讀它。我需要手動將此xsd更改爲如上所示。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Country">
<xs:complexType>
<xs:sequence>
<xs:element name="City" type="City">
</xs:element>
<xs:element name="CoutryName" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="City">
<xs:sequence>
<xs:element name="CityName" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
有什麼建議嗎?或者我可以使用的其他工具。
非常感謝。
您能否更具體地指出哪些「非常好」意味着什麼,以及您嘗試這種情況的環境?我假設它是一個數據流中的XML源;我已經嘗試過2008 R2,並且我獲得了兩個XSD的相同結果。 –
好的。 @PetruGardea就像你所設想的那樣。數據流中的XML源。我認爲SSIS沒有將XSD與我的C#類生成的XML映射。我創建了一個WebService。 –