<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title>DongPad</title><link>http://www.dongpad.com</link> <description>Every day is a new beginning!</description><copyright>2.0 beta 03</copyright> <language>zh-cn</language><item><title>C#对XML排序</title><description><![CDATA[<table border="1" cellspacing="0" cellpadding="0" width="400"><tbody>     <tr>       <td valign="top" width="400">         <p>我的XML结构:            <br /><document>             <br />&#160;&#160;&#160; <data id="2">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <item1.../>             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <item2.../>             <br />&#160;&#160;&#160; </data>             <br />&#160;&#160;&#160; <data id="1">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <item1.../>             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <item2.../>             <br />&#160;&#160;&#160; </data>             <br />&#160;&#160;&#160; <data id="3">             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <item1.../>             <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <item2.../>             <br />&#160;&#160;&#160; </data>             <br /></document></p>       </td>     </tr>   </tbody></table> 我需要实现的是根据id属性值对document的节点排序,C#实现代码如下:&#160; <table border="1" cellspacing="0" cellpadding="0" width="400"><tbody>     <tr>       <td valign="top" width="400">         <p>XPathNavigator lnav = lnodeDoc.CreateNavigator();            <br />XPathExpression lexp = lnav.Compile("/document/data");             <br />lexp.AddSort("<font color="#808000"><strong>@id</strong></font>", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Text);             <br />XPathNodeIterator lnodeIterator = lnav.Select(lexp);             <br />string lsDocTmp = string.Empty;             <br />while (lnodeIterator.MoveNext())             <br />&#160;&#160;&#160; lsDocTmp = lsDocTmp + lnodeIterator.Current.OuterXml;             <br />lnodeDoc.InnerXml = lsDocTmp;</p>       </td>     </tr>   </tbody></table>  <p>参考文献:<a title="http://dotnet.aspx.cc/article/8c7170e2-db55-41f1-8c40-fb7f0f9adaa5/read.aspx" href="http://dotnet.aspx.cc/article/8c7170e2-db55-41f1-8c40-fb7f0f9adaa5/read.aspx">孟宪会:使用XPathExpression类对XML进行排序</a></p>]]></description><author>Jack</author><link>http://www.dongpad.com/CSharp-20090420-177.html</link><pubdate>2009-4-20 19:59:19</pubdate></item></channel></rss>