1

したがって、私のC#プログラムでは、ユーザーがこのプログラムでファイルから実行することを希望する一連のコマンドを読み取っています。私は現在、このデータを保存するためにXMLを使用しています。

XMLデータアクセス呼び出しでコードを散らかさずにこのデータを保存するための良い方法を考えるのに苦労しています。したがって、これをXMLのみの使用に結合します。

これが私が(文脈を与えるために)使用している種類のXMLの例です:

<cooking>
    <job>
      <name>Cook Scrambled Eggs</name>
      <device>Robo-Chef</device>
      <action>
        <name>break eggs into pan</name>
      </action>
      <action>
        <name>scramble the eggs</name>
        <duration> 00:01:00</duration>
      </action>
    </job>    

    <trigger>
      <name>Breakfast</name>
      <forJob>Cook Scrambled Eggs</forJob>
      <start_time> Everyday at 7:00 AM</start_time>
    </trigger>    
</cooking>

プログラムの残りの部分がXMLファイルからのものであるという事実から切り離されるように、スケジューリングXMLファイルからこのデータを読み取ってプログラムに保存するための良い方法は何ですか?

4

1 に答える 1

1

実際には、C#オブジェクトにシリアル化および逆シリアル化することができます。

その場合、サンプルデータからXMLスキーマを抽出し、xsd.exeを使用してC#クラスを生成してから、を使用してシリアル化および逆シリアル化する必要がありますXmlSerializer

スキーマとクラスの生成: https ://stackoverflow.com/a/11654672/1373170

そうすれば、ソースを気にせずに、他のC#クラスにのみ結合できます。たとえば、すべてをリファクタリングすることなく、後でフォーマットをJSONに変更することもできます。

于 2012-12-08T01:40:36.747 に答える