我现在有如下XML数据,存放在 XmlDocument中,我想移动节点,并根据ParentID将对应的数据放进这个节点中,
比如将ParentID="1"的条目放进“总经理这个节点中”(ParentID还不固定,又ParentID和ParentID1,ParentID2,并且是动态增加的),请高手们请与指教,最好又详细代码,谢谢
<cun>
  <node label="总经理" StrID="1" ParentID="0"/>
  <node label="企划部经理(M)" StrID1="2" ParentID1="1"/>
  <node label="" StrID2="" ParentID2=""/>
  <node label="" StrID3="" ParentID3=""/>
  <node label="总经理" StrID="1" ParentID="0"/>
  <node label="运用部经理(M)" StrID1="3" ParentID1="1"/>
  <node label="" StrID2="" ParentID2=""/>
  <node label="" StrID3="" ParentID3=""/>
  <node label="总经理" StrID="1" ParentID="0"/>
  <node label="开发部现行开发课(M)" StrID1="4" ParentID1="1"/>
  <node label="社内系担当(SS)" StrID2="6" ParentID2="4"/>
  <node label="社内系员工" StrID3="8" ParentID3="6"/>
  <node label="总经理" StrID="1" ParentID="0"/>
  <node label="开发部现行开发课(M)" StrID1="4" ParentID1="1"/>
  <node label="品质系担当(SS)" StrID2="7" ParentID2="4"/>
  <node label="品质系员工" StrID3="9" ParentID3="7"/>
  <node label="总经理" StrID="1" ParentID="0"/>
  <node label="开发部次期开发课(M)" StrID1="5" ParentID1="1"/>
  <node label="次期开发课员工" StrID2="10" ParentID2="5"/>
  <node label="" StrID3="" ParentID3=""/>
</cun>

解决方案 »

  1.   

    就是移动节点,比如将<node label="企划部经理(M)" StrID1="2" ParentID1="1"/> 
    移动到 <node label="总经理" StrID="1" ParentID="0"/> 下,以此类推,根据 ParentID移动
      

  2.   

    先读完这个<cun></cun>节点啊,然后再重写一次,比较笨的方法
      

  3.   

                XmlNode MoveNode = Doc.SelectSingleNode("//cun/node[@StrID1=\"2\" and @ParentID1=\"1\"]");
                XmlNode ParentNode = Doc.SelectSingleNode("//cun/node[@StrID1=\"1\" and @ParentID1=\"0\"]");            ParentNode.AppendChild(MoveNode);
                Doc.RemoveChild(MoveNode);            Doc.Save(...);
      

  4.   

    没测试过,大体上有层次的是这样,或是CloneNode
    不过你的没层次啊,都自己改吧