2011-07-28 12 views
0

シンプルな階層を読みやすい形式で定義し、C#で繰り返し/ナビゲーションするにはどうすればよいですか?階層構造を定義する手法はありますか?

私はちょうどクラスのセットを定義し、プロパティを取得、私はむしろ少ないコードに見えるフォーマット、何かのXMLっぽい、あるいはプレーンテキストを使用します可能性が想像

- 例えば...

<root> 
    <level1 name="whatever"> 
    <sublevel1 /> 
    <sublevel2 /> 
    </level1> 
    <level2 /> 
    <level3 /> 
</root> 
asp.net MVCモデルバインダーがちょうど良くシンプルな、私はとにかく

Root.Name=Thing 
Root.Type=Object 

Root.SubLevel[0].Name=SomeItems 
Root.SubLevel[0].Type=Collection 

Root.SubLevel[1].Name=OtherThing 
Root.SubLevel[1].Type=Object 
Root.SubLevel[1].SubLevel[0].Name=OtherItems 
Root.SubLevel[1].SubLevel[0].Type=Collection 

を考え作られた

または多分何か。アイデアは、階層を繰り返し、 "Name"、 "Type"などのプロパティを使用してさまざまなアクションを繰り返すことです。インデックスを使用することもできます(2番目の例)。それをナビゲートしながら構造内の自分の位置を把握しておく必要があります。これをクラスでモデリングする以外に、これはどうすればできますか?

+0

申し訳ありませんが、問題はとても曖昧に聞こえます。 – Benjamin

+0

JSON?内部DSL?ヤムル? –

+0

XMLの何が問題ですか? – FishBasketGordo

答えて

1

XMLは、階層に完全に適しており、C#(特にSystem.Xml.Linq.XDocumentを介して)でそれを読むための優れたサポートがあるので、明白な選択です。

あなたが本当に代替をしたい場合は、その理由を知らなくても、私はYAMLを見てお勧めします:http://en.wikipedia.org/wiki/Yaml

+0

YAMLは甘く見えます。私はサポートが組み込まれているので、おそらくXMLに行くでしょう。しかし、もしYAMLが組み込まれていれば、私は代わりにそれを使うでしょう。 。 – Benjamin

関連する問題