1

XML ファイルを構造化された情報ストレージとして使用するさまざまなアプリケーションで、データをディスクに保存するために、常に XML シリアライザー クラスを作成する必要があります。

XML 構造の例をフィードして、そのような xml 構造で動作する c-sharp クラスを生成するツールはありますか?

たとえば、「プロジェクト」の XML ストアを操作したい

<projectsInfo>
    <projectTypes>
        <Type>super</Type>
        <Type>best</Type>
    </projectTypes>

    <projects>
        <project>
              <name>One</name>
              <p-type>best</p-type>
        </project>
    </projects>    
</projectsInfo>

また、Linq-to-XML 対応クラスを生成して、型とプロジェクトのインスタンスを追加/リモートします。

たぶん、これは私が気付いていない一般的に解決された解決策であるか、それともメモリ オブジェクトのビルトイン XML シリアライゼーションを誰もが使用しているでしょうか?

4

3 に答える 3

1

c# には、XmlSerializerオブジェクトを XML ファイルにシリアル化するように設計されたクラスがあります。クラスにさまざまな属性で注釈を付けるだけで、XML をフォーマットできます。(例:[XmlElement]など[XmlAttribute])

于 2012-06-11T11:16:51.057 に答える
1

XSD がある場合は、Visual Studio コマンド ラインで開いた xsd.exe で生成できます。

詳細: http://msdn.microsoft.com/en-us/library/x6c1kb0s(VS.71).aspx

これにより、XSD からクラスが自動生成され、XML から XSD を生成できます。

于 2012-06-11T11:23:23.883 に答える
0

Visual Studio で提供される XSD ユーティリティを使用して、xml ファイルに基づいてクラス/スキーマを生成できます。クラスを取得したら、XmlSerializer を使用して、ファイルをクラスのインスタンスにシリアル化/逆シリアル化できます。IEnumerable<T>LINQ は、 (任意のコレクション) を実装するクラス内の任意のプロパティで動作します。
.net 4 では、dynamicキーワードを使用して動的 xml ラッパーを構築することもできますが、あまりにも快適で便利かどうかはわかりません

于 2012-06-11T11:24:22.370 に答える