XmlDocument SelectNodes(Xpath): 结果顺序

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中的顺序相同?这个顺序是否有保证?
2个回答

7

2

在我的使用情况中,没有任何信息可以用来对它们进行排序。它们需要按照 XML 中的相同顺序排列。 - crauscher
1
其他评论中声称SelectNodes按文档顺序返回节点(我想知道对于xpath联合是否也是如此),但我从未在msdn中找到任何保证。XPath 1.0规范似乎也没有保证顺序(您可能希望查看此链接:http://lists.xml.org/archives/xml-dev/200410/msg00005.html)。 - Alexey B.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接