代码之家  ›  专栏  ›  技术社区  ›  crauscher

XmlDocument SelectNodes(Xpath):结果顺序

  •  3
  • crauscher  · 技术社区  · 16 年前

    这是一个来自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>
    

    当我使用以下代码选择所有book节点时,这些节点的顺序是什么?

    XmlDocument doc = new XmlDocument();
    doc.Load("booksort.xml");
    
    var nodeList =doc.SelectNodes("bookstore/book");
    

    nodelist中项目的顺序是否与xml中的顺序相同?这个订单有保证吗?

    2 回复  |  直到 16 年前
        1
  •  7
  •   Martin Smith    16 年前

    XPathNodeIterator 以文档顺序进行迭代。 http://msdn.microsoft.com/en-us/library/1212yhbf.aspx

        2
  •  2
  •   Alexey B.    16 年前

    尝试使用 XPathNavigator 而不仅仅是XmlDocument。选择*。然后你可以创建一个 XPathExpression 实例并通过 AddSort