XML简单问题:这样的XML如果有多个<book>,我想取第2个<BOOK>里的内容如何做?-THX 
楼主:   <?xml version="1.0" encoding="UTF-8" ?> 
- <books text="Books">
+ <book>
  <title>Mastering Delphi 7</title> 
  <author>Cantu</author> 
  </book>
+ <book>
  <title>Delphi Developer's Handbook</title> 
  <author>Cantu</author> 
  <author>Gooch</author> 
  </book>
+ <book>
  <title>Mastering Delphi 6</title> 
  <author>Cantu</author> 
  </book>
+ <book>
  <title>Delphi COM Programming</title> 
  <author>Harmon</author> 
  </book>
+ <book>
  <title>Thinking in C++</title> 
  <author>Eckel</author> 
  </book>
+ <ebook>
  <title>Essential Pascal</title> 
  <url>http://www.marcocantu.com<;/url> 
  <author>Cantu</author> 
  </ebook>
+ <ebook>
  <title>Thinking in Java</title> 
  <url>http://www.mindview.com<;/url> 
  <author>Eckel</author> 
  </ebook>
  </books>
 

解决方案 »

  1.   

    使用XPath来查询第二个Book:
    /books/book[position()=2]
      

  2.   

    var
      Node: IXMLNode
    begin
      Node := XMLDocument.ChildNodes.Get(1);//这里取第2个(注意:从0开始编号的)
      Node.ChildNodes.Get(0).NodeValue;//这个应该是title
      Node.ChildNodes.Get(1).NodeValue;//这个应该是author
    ------------------------------------   《CSDN论坛新助手 CSDN's forum Explorer》
      1、更快速的浏览
      2、更方便地保存
      3、更快捷的接收短信
      下载地址:http://www.seeyou.com.cn/CoolSlob/CSDNExplorer.exe