私がしたいのは、IDがParentIDと等しい要素の中に入れたいということですか?したがって、私の例のように、ParentId = 1のグループは、Id = 1のグループ内にある必要があります。どうすればこれを実行できますか?とても混乱しました。
今のところここに私のコードがあります:
XElement xroot = new XElement("Root");
XElement xnavigations = null;
XElement xmenus = null;
foreach (DataRow navigations in GetNavigationSets().Rows)
{
xnavigations = new XElement("Group",
new XElement("GroupName", navigations["name"].ToString())
);
xnavigations.SetAttributeValue("Id", navigations["id"].ToString());
xnavigations.SetAttributeValue("ParentId", navigations["parent_id"].ToString());
foreach (DataRow menus in GetMenusInNavigationSetByNavigation(int.Parse(navigations["id"].ToString())).Rows)
{
foreach (DataRow menu in GetMenuById(int.Parse(menus["menu_id"].ToString())).Rows)
{
xmenus = new XElement("Menu",
new XElement("Name", menu["name"].ToString()),
new XElement("Price", menu["price"].ToString()),
new XElement("Description", menu["description"].ToString())
);
xnavigations.Add(xmenus);
}
}
xroot.Add(xnavigations);
}
xroot.Save("main.xml");
新しい出力: