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