使用PHP显示XML文档的最后一项

时间:2011-06-29 17:43:43

标签: php xml

我目前正在使用下面的代码来阅读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;

2 个答案:

答案 0 :(得分:2)

更改您的for语句

  foreach( $books as $book )

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

那是前5本书。

答案 1 :(得分: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