XML ドキュメントを再帰的に処理するときに複合パターンを使用しようとしています。
私がこれまでに持っているコードは
public Composite TraverseNodes (XmlNodeList nodeList, Composite comp)
{
foreach(XmlNode in nodelist)
if(xNode.Attributes != null)
{
Object x = getObjects(xNode) // getObjects returns an OO version of each node & their attributes;
Composite child = new Composite(x);
if(x != null)
{
comp.Add(child);
}
if (xNode.HasChildNodes)
{
TraverseNodes(xNode.ChildNodes, comp);
}
}
}
これにより、XML ドキュメントが再帰的に処理されます。私の問題は、Composite に XML ドキュメントの構造を反映させたいということです。現時点では、フラット リストしか作成していません。したがって、コンプにはコンプ チャイルド チャイルドがあります
一方、私が達成したいのは、もっと似たものです
Comp
Child
GChild
GChild
Child
GChild
GChild
GGChild ...... and so on.....
このリンクのコードを使用して Composite クラスを構築しています http://www.dofactory.com/Patterns/PatternComposite.aspx#_self2
ご指摘ありがとうございます。リンダ