十万火急 XML只能操作第一个节点
xml文件<MenuData ImagesBaseURL="../UploadFile/NewsMenuImg/">
<MenuGroup MGParentID="0">
<MenuItem ID="95" Label="ss" RightIcon=" " 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=" " 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=" " RightIconWidth="0">
这个节点下的子节点
说清楚你到底想要神恶魔
补充:.NET技术 , C#