2011-07-28 72 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 

總之,越簡單越好。這個想法是遍歷層次結構並使用其屬性重複各種操作 - 比如「名稱」,「類型」等。我還希望能夠使用索引(在第二個示例中),或者只需要跟蹤我在導航結構中的位置。除了用類對它進行建模之外,這怎麼能做到呢?

+0

對不起,這個問題聽起來很模糊。 – Benjamin

+0

JSON?內部DSL? YAML? –

+0

XML有什麼問題? – FishBasketGordo

回答

1

XML是明顯的選擇,因爲它非常適合層次結構,並且在C#中閱讀它(尤其是通過System.Xml.Linq.XDocument)有很大的支持。

如果你真的想要一個替代,不知道爲什麼,我建議在看YAML:http://en.wikipedia.org/wiki/Yaml

+0

YAML看起來很甜美。自支持內置以來,我可能會使用XML。但是如果YAML是內置的,我會選擇它。 。 – Benjamin