2011-06-29 42 views
0

我正在使用下面的代碼來讀取一個xml文檔。用PHP顯示XML文檔的最後一個項目

該代碼輸出XML文檔中的所有書籍。我想知道是否有可能只顯示前5本書或顯示特定的書名。


$doc = new DOMDocument(); 
    $doc->load('books.xml'); 
    $books = $doc->getElementsByTagName("books"); 
    foreach($books as $book) 
    { 
    $authors = $book->getElementsByTagName("author"); 
    $author = $authors->item(0)->nodeValue; 
    $publishers = $book->getElementsByTagName("publisher"); 
    $publisher = $publishers->item(0)->nodeValue; 
    $titles = $book->getElementsByTagName("title"); 
    $title = $titles->item(0)->nodeValue; 
+0

使用'for'來代替? –

回答

2

改變您的發言

foreach($books as $book) 

 for($i=0;$i<5;$i++){ 
$book = $books[$i]; 
//Other Logic Here 
} 

這對前5本書。

0

答案是XPath。

  • /books/book[position() < 5]返回第5冊
  • /books/book[author = 'xyz']回報特定作者的所有書籍
  • /books/book[title = 'xyz']特定標題
  • /books/book[title = 'xyz']/author的回報書籍返回一書的作者具有特定標題

...等等。請參閱:http://php.net/manual/en/class.domxpath.php

相關問題