首页 新闻 会员 周边 捐助

C# 递归出来的XML文档,每行都是闭合的怎么破?

0
悬赏园豆:10 [已关闭问题] 关闭于 2016-02-18 15:25

递归方法如下,是把List中的项递归生成XML结构,递归函数本身没有问题,但生成的XML元素都闭合着,没形成结构啊?why?

private XmlElement LoopListToXml(List<RoleItem> all, RoleItem curItem, ref XmlElement node) {

  var subItems = all.Where(ee => ee.NodeID == curItem.ID).ToList(); //子节点


foreach (RoleItem cur in subItems) {

  if (cur.ModuleType == ModuleTypeEnum.Menu) {

    XmlElement elementItem = CreateXML_Menu(cur);

    node.AppendChild(elementItem);

  }

  if (cur.ModuleType == ModuleTypeEnum.MenuItem) {

    XmlElement elementItem = CreateXML_Item(cur);

    node.AppendChild(elementItem);

  }

  if (cur.ID != 0){

    LoopToMenuXml(all, cur, ref node);

  }

  }

  return node;

}

 

生成的结构如下,每一行后面都闭合了:

<Menus>
<Menu Text="Menu_0" ShortKey="" ToolButton="false" ButtonIcon="" />
<Menu Text="Menu_1" ShortKey="" ToolButton="false" ButtonIcon="" />
<Item Type="MenuItem" Text="MenuItem_1" ToolButton="false" ButtonIcon=""/>
<Item Type="MenuItem" Text="MenuItem_1" ToolButton="false" ButtonIcon="" />
<Item Type="MenuItem" Text="MenuItem_17" ToolButton="false" ButtonIcon="" />
<Item Type="MenuItem" Text="MenuItem_17" ToolButton="false" ButtonIcon="" />
<Item Type="MenuItem" Text="MenuItem_17" ToolButton="false" ButtonIcon="" />
<Menu Text="Menu_2" ShortKey="" ToolButton="false" ButtonIcon="" />
<Menu Text="Menu_3" ShortKey="" ToolButton="false" ButtonIcon="" />
<Menus>

kylixsales的主页 kylixsales | 初学一级 | 园豆:194
提问于:2016-02-18 15:11
< >
分享
所有回答(1)
0

已解决

kylixsales | 园豆:194 (初学一级) | 2016-02-18 15:24

带入的元素错了,递归全都Append到了第一次传入的node

支持(0) 反对(0) kylixsales | 园豆:194 (初学一级) | 2016-02-18 15:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册