<Root>
<Company>
      <Department id="001">
              <Person>
                       <name>Name1</name>
                       <sort>1</sort>
                       <birthday>2000-1-1</birthday>
              </Person>
              <Person>
                       <name>Name2</name>
                       <sort>2</sort>
                       <birthday>2000-1-2</birthday>
              </Person>
              <Person>
                       <name>Name3</name>
                       <sort>3</sort>
                       <birthday>2000-1-3</birthday>
              </Person>
      </Department>
      <Department id="002">
              <Person>
                       <name>Name1</name>
                       <sort>1</sort>
                       <birthday>2000-1-1</birthday>
              </Person>
              <Person>
                       <name>Name2</name>
                       <sort>2</sort>
                       <birthday>2000-1-2</birthday>
              </Person>
              <Person>
                       <name>Name3</name>
                       <sort>3</sort>
                       <birthday>2000-1-3</birthday>
              </Person>
      </Department>
</Company>
</Root>
下面语句虽已按sort排序,读出结果依次为sort值3、2、1,但只能读取sort元素值,请问有没什么方法可以读取依sort排序来读取所有Person的子节点.谢谢~!~!
string strPath = Server.MapPath("test.xml");
XPathDocument doc = new XPathDocument(strPath);
XPathNavigator nav = doc.CreateNavigator();
XPathExpression exp = nav.Compile("/Root/Company/Department[@id='001']/Person/sort");
exp.AddSort("text())",XmlSortOrder.Descending,XmlCaseOrder.None,"",XmlDataType.Text);
XPathNodeIterator nodeIter2 = nav.Select(exp);
while (nodeIter2.MoveNext()) 
{
 Response.Write(nodeIter2.Current.value);
}