2

こんにちはみんな:私は自分のデータ、実際にはドメインモデル構造全体を正式なxmlファイルにエクスポートする必要があります。xmlスキーマを.NETオブジェクトモデルにマップするために使用できるビジュアルツールを知っている人はいますか?

4

4 に答える 4

1

オブジェクトをxmlにエクスポートする最も簡単な方法は、各クラスに<Serializalbe>属性をマークすることです。次に、を呼び出しますXmlSerializer.Serialize()

を使用して、xmlをオブジェクトにインポートして戻すこともできますXmlSerializer.Deserialize()

スキーマが必要な場合は、xsd.exeを使用して、次のいずれかを使用してスキーマを生成できます。

  1. クラスライブラリ自体:xsd.exe myClassLibrary.dll
  2. XmlSerializer.Deserialize()の呼び出しによって生成されたxmlファイル:xsd.exe myFile.xml

詳細については、 xsd.exeおよびXmlSerializerのドキュメントを参照してください。

于 2009-02-11T19:08:05.423 に答える
0

.NETFrameworkでこのようなシナリオがサポートされていないことを私は知っています。

私はリフレクションを調べ始め、すべてのタイプとそのメンバーをループして、対応する説明をXMLで出力します。

于 2009-02-11T02:18:51.107 に答える
0

他の人は、ビジュアル スタジオでの XSD サポートを指摘しています。これには視覚的なデザイナーがありますが、クラスにマップされませんが、厳密に型指定されたオブジェクトを作成できます。

XMLSerialization はいくつかの場合に優れています: 1) データ転送 (Web サービス) 2) プロトタイプの時間を節約するため。永続化メカニズム (永続ストレージ) としてオブジェクトを直接 XML シリアル化することは強くお勧めしません。スキーマを変更する必要がある場合、それは苦痛になります。はい、理論的な解決策があります。実際に簡単に機能するのを見たことはありません。私はクイックシリアライゼーションソリューションを維持(および再設計)することに多くの苦痛を感じており、これについて強く感じています:)

問題は、なぜドメイン モデルをエクスポートするのかということです。これは単なるエクスポート機能ですか? もしそうなら、シリアル化はおそらく素晴らしいです。これを行うための視覚的なツールが見つからない場合があります。しかし、通常、クラスの属性を使用して、形式的できれいな XML を作成するのは簡単です。

于 2009-03-13T16:28:26.733 に答える
0

逆の方法は簡単です。xsd.exe を使用して、XSD スキーマから .Net データ バインド クラス モデルを生成できます。

しかし、.Net で任意のオブジェクト モデルを取得し、それを XML にシリアル化することは、それが可能かどうかさえわかりません。一部の型は、XML で表現できるものよりも複雑になります。したがって、XML 側から始める必要があるようです。

于 2009-02-09T19:32:56.633 に答える