xsd.exeをC#クラスで使用すると、グローバルタイプではなくネストタイプのxsdファイルを生成する方法がありますか?xsd.exeでグローバルタイプの代わりにネストタイプを生成
このxsdファイルをSSIS-Sql Server Integration Servicesと共に使用したいと思っています。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は、私のC#クラスによって生成されたXMLとXSDをマッピングしていないと思う。私はWebServiceを作成しました。 –