完整点的代码如下:XmlDocument doc = new XmlDocument();
doc.Load("XMLFile1.xml");
XmlNode root = doc.DocumentElement;
XmlNodeList nodeList = root.SelectNodes("descendant::book[author/last-name='Austen']");我不明白SelectNodes的参数是怎么来解释的,比如:
descendant是什么意思?
descendant::又是什么意思?
::前面都可能会出现什么样的单词?
book后面的[是什么意思?-----------------------------------
XMLFile1.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>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>24.95</price>
</book>
<book genre="novel" publicationdate="1992" bk:ISBN="1-861002-30-1">
<title>The Handmaid's Tale</title>
<author>
<first-name>Margaret</first-name>
<last-name>Atwood</last-name>
</author>
<price>29.95</price>
</book>
<book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-6">
<title>Emma</title>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>19.95</price>
</book>
<book genre="novel" publicationdate="1982" bk:ISBN="1-861001-45-3">
<title>Sense and Sensibility</title>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>19.95</price>
</book>
</bookstore>

解决方案 »

  1.   

    //CCC/descendant::DDD
     
    选择所有以CCC为祖先元素的DDD元素
     
      

  2.   

    /descendant::*
     
    选择文档根元素的所有后代.即所有的元素被选择
     
      

  3.   

    楼主对XPath不熟?看看教程
    http://www.zvon.org/xxl/XPathTutorial/Output_chi/example1.html
      

  4.   

    XPath...descendant 是 XPath 正向轴...descendant 返回上下文节点的所有后代...相对路径表达式 descendant::book[author/last-name='Austen'] 指定了一个轴 (descendant) 和一个节点测试(book)和谓词([author/last-name='Austen'])...结果是所有子节点author中子节点last-name的值为'Austen'的book节点...
      

  5.   

    相当于bookstore/book[author/last-name='Austen'] 
    []的意思为查找book里面满足author的last-name的节点值为Austen
    如果是[@]就变成查节点属性了。
      

  6.   

    我觉得SassyBoy(my love will get you home)
    对我这个问题帮助最大,谢谢:)