Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

XmlDocument SelectNodes(Xpath): Order of result

This is an example xml from MSDN

<?xml version="1.0"?>
<!-- A fragment of a book store inventory database -->
<bookstore xmlns:bk="urn:samples">
  <book genre="novel" publicationdate="1997" bk:ISBN="1-861001-57-8">
    <title>Pride And Prejudice</title>
  </book>
  <book genre="novel" publicationdate="1992" bk:ISBN="1-861002-30-1">
    <title>The Handmaid's Tale</title>
  </book>
  <book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-6">
    <title>Emma</title>
  </book>
  <book genre="novel" publicationdate="1982" bk:ISBN="1-861001-45-3">
    <title>Sense and Sensibility</title>
  </book>
</bookstore>

When I select all book nodes using the following code, which order will these nodes have?

XmlDocument doc = new XmlDocument();
doc.Load("booksort.xml");

var nodeList =doc.SelectNodes("bookstore/book");

Will the order of the items in the nodelist be the same as the order in the xml? Is this order guaranteed?

like image 723
crauscher Avatar asked Jan 23 '23 08:01

crauscher


1 Answers

Yes. Looking at it in reflector this method ends up using an XPathNodeIterator which is documented to iterate in document order. http://msdn.microsoft.com/en-us/library/1212yhbf.aspx

like image 149
Martin Smith Avatar answered Jan 31 '23 12:01

Martin Smith