2009-03-08 16 views
7

Visual Studio XSDユーティリティを使用してXSDからC#クラスを生成し、組み込みの汎用コレクションの1つではなく、コレクションを格納する配列を生成しました<T>(または関連する)クラス。Visual Studio XSDツール:配列よりもコレクションを生成

xsd /?に記載されているコマンドラインパラメータはありません。配列ではなくコレクションを生成することについて言及していますが、これはVisual Studioが生成するWebサービスプロキシクラスで行うことができるので、可能でなければならないと思いました。

XSDユーティリティが配列ではなくコレクションクラスを生成する方法を知っている人はいますか?

+0

ここで私の答えを見つけることができます - > http://stackoverflow.com/a/24557248/1125467 – vivekp

答えて

1

問題は、XSDがXML言語に依存しないことです。 JavaやC#から他のものがサポートしていないものは使用できません。配列は最小の共通分母です。

Java開発者は、XStreamなどのOXMライブラリを使用してオブジェクトをXMLにマーシャリングして戻します。オブジェクトからXMLに移動するときにカスタム型を指定することができます。あなたが.NETツールボックスで同様のものを見つけなければならないような音がします。

これはあなたの質問に対する回答ではありませんが、私はXSDがその仕事をしないと考えている理由です。 Java開発者がXStreamに手を差し伸べるように、あなたは他の場所を見る必要があります。

1

Web参照ではなく、サービス参照でコレクションを使用することができます。代わりにsvcutil.exeユーティリティを見てください。これはsvcutil/t:code file.xsdのように見えます。

1

私はこの時点でこれを信頼できる形で実行しているツールは認識していません。残念なことに、

ありXSDObjectGen(またはそのような何かが)だったが、このツールは、私は1つのアプローチは、すべてのint型の交換の並べ替えを適用するためにXSDTidyを使用しました

:-(サイバースペースの面から消えているようです[] XSDツールの出力を超える一覧に - 働いているようだが、不格好少し見えた

ここで私は再び見つけるためにしようとしてきた事はでブログ記事をあるCodeProject article on XSDTidy

です。基本的にReflectorでXSDの内部動作を解剖した紳士が、それから得た知識を使用して多くの.NETコアクラスを使用して独自のツールを構築します。私が正しく覚えていれば、それはthis blog post here ("writing your own xsd.exe")でした。 Mikeはあなたが探しているものを正確にやっているわけではありません(配列の代わりにリストを作成しています)が、出発点になる可能性があります。答えを探し

マルク・

関連する問題