Thomas J.S.: PHP & XML & Schleife

Beitrag lesen

Hallo,

DOM würde doch wieder zum gleichen führen?
hier hätte ich wieder eine foreach ?

Jein.
getElementsByTagName() liefert eine Node-list und den kannst du zu einem Array machen, uas dem du dann natürlich per index leicht die entsprechende Einträge holen kannst.

siehe:
DOMNodeList

 und [link:http://www.php.net/manual/en/domnodelist.item.php@title=DOMNodelist::item]  
  
Aber DOMXPath ist auch nicht so kompliziert:  
  
[code lang=php]  
 <?php  
  $doc = new DOMDocument();  
  
// *****  
  $doc->preserveWhiteSpace = false;  
  
  
  $doc->load( 'books.xml' );  
  
// *****  
$xpath = new DOMXPath($doc);  
  
$query = '//books/book[(position() > $VON) and (position() <= $BIS)]';  
  
$books= $xpath->query($query);  
  
foreach ($books as $book) {  
    // was auch immer hier z.B.  
   echo $book->firstChild->nodeValue;  
}  
  ?>  

$VON und $BIS kannst du ggf. ja dann per URL-Parameter setzen.
($VON darf aber nicht 0 sein, da es in XPath keine "position() = 0" gibt.

http://www.php.net/manual/en/domxpath.query.php

Grüße
Thomas

PS: ich bin kein PHP-Experte, also nimm den Code bitte als zu verfeinernde Idee.