我的XML结构:
<document>
<data id="2">
<item1.../>
<item2.../>
</data>
<data id="1">
<item1.../>
<item2.../>
</data>
<data id="3">
<item1.../>
<item2.../>
</data>
</document>
我需要实现的是根据id属性值对document的节点排序,C#实现代码如下:
XPathNavigator lnav = lnodeDoc.CreateNavigator();
XPathExpression lexp = lnav.Compile("/document/data");
lexp.AddSort("@id", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Text);
XPathNodeIterator lnodeIterator = lnav.Select(lexp);
string lsDocTmp = string.Empty;
while (lnodeIterator.MoveNext())
lsDocTmp = lsDocTmp + lnodeIterator.Current.OuterXml;
lnodeDoc.InnerXml = lsDocTmp;