更改Xml文件中的节点顺序

时间:2016-08-24 10:42:11

标签: c# xml

我想改变XMl文件中某些节点的odrer。有人可以告诉我如何实现这一点。

我的Xml看起来像这样:

<magicdraw>
<diagram>
<fragment>
<message id="AA22"/>
<message id="AF32"/>
<message id="CD52"/>
<combinedfragment id="LL43"/>
</fragment>
</diagram>
</magicdraw>

我想把它改成:

<magicdraw>
<diagram>
<fragment>
<message id="AA22"/>
<combinedfragment id="LL43"/>
<message id="AF32"/>
<message id="CD52"/>
</fragment>
</diagram>
</magicdraw>

1 个答案:

答案 0 :(得分:0)

您可以简单地遍历列表框项目,识别相应的节点&#39;元素和AppendChild它,这样你应该以正确的顺序结束,因为在已经插入某个地方的节点上执行AppendChild会移动它并将你的任何节点移动到正确的位置:

XmlDocument nodeDoc = new XmlDocument();
linksDoc.Load(Server.MapPath("App_Data/Node.xml"));


foreach (ListItem li in lb1.Items)
{
  string itemId = li.Value;

  XmlNode node = doc.SelectSingleNode(string.Format("/root/node[@id = '{0}']", itemId));
  if (node != null)
  {
    node.ParentNode.AppendChild(node);
  }
}