我正在尝试在LINQtoXML中创建如下所示的分层树结构。
<Item>
<Item>
<Item>
</Item>
</Item>
</Item>
子级别的数量是动态的。它可以是任何数字。
public static XElement BuildTree(int numberOfLevel)
{
XElement parent=new XElement("Item");
AddChild(parent,numberOfLevel);
return parent;
}
public static XElement AddChild(XElement elm, int numberofLevel)
{
while (numberofLevel > 1)
{
numberofLevel--;
elm.Element("Item").Add(AddChild(elm, numberofLevel));
}
return elm;
}
但是在运行时我在行elm.Element("Item")
任何人都可以帮助我吗?
答案 0 :(得分:0)
public static XElement BuildTree(int numberOfLevel)
{
XElement parent = new XElement("Item");
AddChild(parent,numberOfLevel);
return parent;
}
public static void AddChild(XElement elm, int numberofLevel)
{
if(numberofLevel > 1)
{
XElement newElm = new XElement("Item");
elm.Add(newElm);
AddChild(newElm, numberOfLevel - 1);
}
}
但也可以不使用递归:
public static XElement BuildTree(int numberOfLevel)
{
XElement parent = new XElement("Item");
XElement current = parent;
while(numberOfLevel > 1)
{
XElement newElement = new XElement("Item");
current.Add(newElement);
current = newElement;
numberOfLevel--;
}
return parent;
}