4

これは MSDN の xml の例です

<?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>

次のコードを使用してすべてのブック ノードを選択すると、これらのノードはどのような順序で表示されますか?

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

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

ノードリスト内の項目の順序は、xml 内の順序と同じになりますか? この注文は保証されていますか?

4

2 に答える 2

7

はい。リフレクターでそれを見ると、このメソッドはXPathNodeIterator 、文書順に反復するために文書化されている を使用することになります。http://msdn.microsoft.com/en-us/library/1212yhbf.aspx

于 2010-03-30T10:41:43.703 に答える
2

XmlDocument.Select* だけでなく、XPathNavigatorを使用してみてください。次に、XPathExpressionインスタンスを作成し、それをAddSortで並べ替えることができます。

于 2010-03-30T10:38:08.097 に答える