当前位置:编程学习 > C#/ASP.NET >>

十万火急 XML只能操作第一个节点

xml文件
<MenuData ImagesBaseURL="../UploadFile/NewsMenuImg/">
  <MenuGroup MGParentID="0">
    <MenuItem ID="95" Label="ss" RightIcon="&nbsp;" RightIconWidth="0">
      <MenuGroup Orientation="horizontal" ExpandOffsetY="1" ExpandOffsetX="-1" MGChildID="MG95">
        <MenuItem ID="105" Label="hh" RightIcon="s" RightIconWidth="0" />
        <MenuItem ID="108" Label="www" RightIcon="&nbsp;" RightIconWidth="0" />
        <MenuItem ID="122" Label="hhh" RightIcon="" RightIconWidth="" />
      </MenuGroup>
    </MenuItem>
    <MenuItem ID="96" Label="gfsd" RightIcon="" RightIconWidth="">
      <MenuGroup Orientation="horizontal" ExpandOffsetY="1" ExpandOffsetX="-1" MGChildID="MG96">
        <MenuItem ID="106" Label="hhdd" RightIcon="s" RightIconWidth="0" />
      </MenuGroup>
    </MenuItem>
    <MenuItem ID="125" Label="dsfsdfsd" RightIcon="" RightIconWidth="">
      <MenuGroup Orientation="horizontal" ExpandOffsetY="1" ExpandOffsetX="-1" MGChildID="MG125">
      </MenuGroup>
    </MenuItem>
  </MenuGroup>
</MenuData>



问题是只能添加 MenuItem ID="95" 底下MenuItem ID 的数据
到MenuItem ID="96"
MenuItem ID="125" 底下的数据都添加不了,没反映 请高手们帮帮忙


代码 
//加入子栏目
XmlNodeList xnl=xmldoc.SelectSingleNode("MenuData/MenuGroup/MenuItem").ChildNodes;

//取得循环的次数!保证修改后还会循环! 可以批量
int n = xnl.Count;
for (int i = 0; i < n; i++) 

//这样保证其循环到位 
XmlElement xe = (XmlElement)xnl.Item(i); 
XmlNodeList node=xmldoc.SelectSingleNode("MenuData/MenuGroup/MenuItem").ChildNodes; 
if (node.Count > 0)
{
if (xe.GetAttribute("MGChildID")=="MG"+ParentID.Trim())
{
XmlElement xe1=xmldoc.CreateElement("MenuItem");
xe1.SetAttribute("ID",ID.Trim());
xe1.SetAttribute("Label",Label.Trim()); 
xe1.SetAttribute("RightIcon",strRightIconWidth);
xe1.SetAttribute("RightIconWidth",strRightIconWidth);
xe.AppendChild(xe1); 
//如果条件成立。执行修改. 
i -= 1;
n -= 1;
}
}
} --------------------编程问答-------------------- 主要是你想干什么??
XmlNodeList xnl=xmldoc.SelectSingleNode("MenuData/MenuGroup/MenuItem").ChildNodes;
你这样选择出来的记录肯定是
<MenuItem ID="95" Label="ss" RightIcon="&nbsp;" RightIconWidth="0">
这个节点下的子节点

说清楚你到底想要神恶魔
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,