0
私はツリー構造にしたいと思う次のXMLデータを持っていますか?XMLをツリーに変換する
<DATA>
<NODES>
<NODE>
<ID>1</ID>
<CONTENT>Foo</CONTENT>
<ChildrenIds>
<Child>2</Child>
<Child>3</Child>
</ChildrenIds>
<Level>1</Level>
</NODE>
<NODE>
<ID>2</ID>
<CONTENT>Foo</CONTENT>
<ChildrenIds>
<Child>4</Child>
</ChildrenIds>
</NODE>
<NODE>
<ID>3</ID>
<CONTENT>oo</CONTENT>
<ChildrenIds>
<Child>5</Child>
</ChildrenIds>
</NODE>
<NODE>
<ID>4</ID>
<CONTENT>Doo</CONTENT>
<ChildrenIds/>
</NODE>
<NODE>
<ID>5</ID>
<CONTENT>Koo</CONTENT>
<ChildrenIds/>
</NODE>
</NODES>
</DATA>
これをLINQを使用してツリー構造に解析するには、どのような方法が最適ですか?
私は、まず、以下のようにツリーオブジェクトを起動する必要がありますと仮定しています:
public class Tree
{
public Tree()
{
ChildrenNodes = new List<TreeStructure>();
}
public List<Tree> ChildrenNodes { get; set; }
public int Id { get; set; }
public string Content {get; set;}
}
エンコーディングを選択し、実際の質問は何ですか? – Murph
そしてChildrenNodesはどうですか?彼らは、IdとContentとその子孫のリストを持つTree型かどうか?あなたのクラスとxmlツリー構造が異なっているようです。 – Shymep
ChildrenNodesには、ChildrenIdsで参照されるノードが含まれている必要があります。したがって、上記のXMLでは、Id = 1のツリーが必要です。このツリーにはId = 2とId = 3のChildrenNodesがあり、Id = 2の子はTree = 4などのChildrenNodesを持ちますツリー – user989046