Sanny: XML-Datei mit php bis zu bestimmter Zeile auslesen?

Hallo,

ich versuche gerade, eine XML-Datei per php auszulesen und wiederzugeben, allerdings nur einen bestimmten Tag incl. aller Unterknoten.

z.B.

  
<root>  
   <div class="knoten">  
      <div class="unterknoten>...</div>  
   </div>  
   <div class="knoten">  
      <div class="unterknoten>...</div>  
   </div>  
</root>  

Ich will nur den ersten "div class="knoten" mitsamt Unterknoten ausgeben, nicht den zweiten und nicht evtl. weitere.

Das komplette xml auszugeben funktioniert. Aber wie gibt man nur Teilbereiche aus? Ich suche schon ne ganze Weile in SimpleXML-Informationen herum und bin mehr und mehr verwirrt.

Vielen Dank!
Sanny

  1. Hallo,

    falls es jemanden interessiert, ich bin selbst zumindest schonmal weitergekommen: auf die einzelnen Zeilen (nicht knoten) kann man mit file() zugreifen. Wenn man z.B. die Inhalte der ersten 3 Zeilen eines xmls ausgeben will, schreibt man:

    <?php

    $lines = file('http://www.beispiel.de/beispiel.xml');

    echo utf8_decode(rawurldecode($lines[1]));
      echo utf8_decode(rawurldecode($lines[2]));
      echo utf8_decode(rawurldecode($lines[3]));

    ?>

    Sanny

  2. Hi,

    es wäre schön, wenn du deine XML-Fragen erst mal in einem Thread bündelst, anstatt ständig neue aufzumachen. Dann kann man auch besser verfolgen, welche Fortschritte sich einstellen, und wo es noch Probleme gibt.

    ich versuche gerade, eine XML-Datei per php auszulesen und wiederzugeben, allerdings nur einen bestimmten Tag incl. aller Unterknoten.

    Dann durchlaufe den DOM-Baum, bis du diesen Knoten gefunden hast (oder suche dir eine andere Möglichkeit, ihn zu lokalisieren/identifizieren), und durchlaufe dann (ggf. rekursiv) seine Kindknoten.

    Und was du im zweiten Posting dieses Threads geschrieben hast, ist ziemlicher Quark. XML ist ganz und gar nicht dafür gedacht, "zeilenweise" verarbeitet zu werden; das ist sogar idR. so gut wie unmöglich. Wenn man sowas wollte, würde man ein anderes Format nehmen, bspw. CSV.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.