我想改变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>
答案 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);
}
}