Hi ljp007,
Another way is to use XPathExpression to sort your data. I think it is easier. You can loop through the nodes set to retrieve top 2 or 5 nodes.
Have a look at my sample.
<catalog>
<faq id="12" type="3" name="bla">12</faq>
<faq id="10" type="3" name="bla">10</faq>
<faq id="11" type="1" name="bla">11</faq>
<faq id="13" type="3" name="bla">13</faq>
</catalog>
XPathDocument doc = new XPathDocument(Server.MapPath("doc.xml"));
XPathNavigator nav = doc.CreateNavigator();
XPathExpression exp = nav.Compile("/catalog/faq");
exp.AddSort("@id", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Number);
XPathNodeIterator iter = nav.Select(exp);
while (iter.MoveNext())
{
string res = iter.Current.Value;
}