更改Xml文件中节点的顺序

本文关键字:顺序 节点 Xml 文件 更改 | 更新日期: 2023-09-27 18:03:49

我想更改XMl文件中某些节点的顺序。有没有人能告诉我如何实现这个?

我的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>

更改Xml文件中节点的顺序

你可以简单地遍历你的列表框项,识别相应的'node'元素并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);
  }
}