Mailinglisten-Archive |
Hallo, > ich suche ein GANZ EINFACHES Beispiel, um xml-dateien auszulesen. > > XML-datei: > > <?xml version="1.0" encoding="iso-8859-1"?> > > <php> > <eintrag id="0"> > <thema>abc</thema> > <kbeschreibung>E-Mail</kbeschreibung> > <syntax>mail()</syntax> > <beispiel> > <z1>daten1</z1> > <z2>daten2</z2> > <z3>daten3</z3> > </beispiel> > </eintrag> > <eintrag id="1"> > s.o. > </eintrag> > </php> > > Wie kann ich jetzt unter <beispiel>, <z1> auslesen? z.B. so: <?php require_once("xml-line-01-76.php"); //Quelle: http://www.media-palette.de/xml-line.zip $mylines = new xml_line("php.xml"); //Deine Datei $mylines->get_data(0,"z1"); $result=$mylines->xml_stream(); printf("Der Inhalt von Element z1 ist <b>%s</b>.", $result[0][0][0]); ?> Wenn Du mehrere z1-Elemente hast, kannst Du auch den ganzen Elementpfad angeben: $mylines->get_data(0,"php/eintrag/beispiel/z1"); Wenn es dann noch mehrere z1 im gleichen Elementpfad gibt, kannst Du auch zählen: $mylines->get_data(0,"php/eintrag/beispiel/z1","","","1-1-1-1"); Mit den übrigen (hier leeren) Parametern kannst Du noch Text vorgeben, der im Elementwert enthalten sein soll oder nach bestimmten Attributen, die im Element enthalten sein müssen, damit das Ergebnis passt. > Oder, wie kann ich die Werte unter <eintrag> mit der 'id' = 1 auslesen? Du möchtest hier sicherlich den ganzen "Datensatz" haben? $mylines->get_data(0,"eintrag","",array('id'=>0)); kann das gesuchte Element ausfindig machen. Das hilft Dir aber nicht weiter, weil Du nur den Whitspace als Ergebnis enthältst, also alles das, was zwischen <eintrag> und dem nachsten Element steht. Die Elemente unterhalb von "eintrag" würde man mit "php/eintrag/*" finden. (Die Attributvorgabe würde sich dann aber auf die untergeordneten Elemente beziehen.) Das Einlesen untergeordneter Elemente und Inhalte ist zur Zeit noch nicht in der Klasse implementiert. Das ist aber eine wichtige Sache, die ich daher auch kurzfristig einrichten werde, weil ich sie selbst auch vermisse. Viele Grüße Peter -- http://www.media-palette.de
php::bar PHP Wiki - Listenarchive