Hallo zusammen,
kann mir bitte jemand in kurzen Sätzen erklären, wie ich z.B. diese XML-Daten hier http://cpdn.comlab.ox.ac.uk/user/grprankxml.php?gid=133
mit PHP übernehmen kann und auf einer eigenen Homepage ausgeben kann ?? Es reicht eine kurze und knappe Erklärung dazu, damit ich mal einen Anfang habe ;o) ! Habe nun schon einige XML-Tutorials durch, aber irgendwie sitze ich noch immer auf der Leitung !
Vielen Dank schon mal im Voraus
Thomas
Hi,
kenne jetzt die konkreten PHP-Routinen nicht, aber folgendermassen läuft das in allen Sprachen ab. Du liest die xml-Datei mit in eine DOM-Stuktur ein (Musst einfach mal in php nachschauen, wie der xml-reader heisst), dann kannst du mit getChildren usw. auf die Daten zugreifen. Einfacher geht das noch, wenn php Methoden bietet, um XPath-Ausdrücke auszuführen, dann kannst du nach dem Einlesen auf die Knoten direkt zugreifen mit .selectNodes(XPath Abfrage). Zu XPath siehe http://www.w3c.org
Zweite Möglichkeit: Wenn es nur um die Ausgabe der Daten geht, kannst du einen XSL-Parser benutzen. Entweder direkt (geht soweit ich weiss nur beim IE), oder du liest die Daten in php ein und jagst sie dann durch den xsl-Parser. In der xsl-Datei kannst du dann das komplette html-Ausgabedokument angeben und dort die xml-Werte automatisch einsetzen. (Näheres zu xsl unter http://www.w3c.org)
Das hilft dir jetzt nicht direkt weiter, weil ich, wie schon gesagt, lange nicht mehr in php programmiert habe und deshalb nicht weiss, wie die Methoden dort heissen. Aber vielleicht weisst du jetzt durch meine Anmerkungen, wo nach du suchen musst.
Ralph
Hi Ralph,
ja, du hast leider recht, so richtig hilft es noch nicht, ist aber mal ein guter Ansatz, um zu wissen, wonach man überhaupt suchen muß !
Habe allerdings selbst schon ein wenig gefunden und zwar kann man hiermit, im HTML-Script eingefügt, schonmal die Daten anzeigen lassen:
…
…
Was mir nun noch fehlt, ist die Weiterverarbeitung mit PHP, wenn dies möglich ist !?!?
Vielleicht hast du ja dazu noch ne Idee ??
Vielen Dank schonmal
Gruß
Thomas
Was mir nun noch fehlt, ist die Weiterverarbeitung mit PHP,
wenn dies möglich ist !?!?
Hi,
nacher kannst du mit php nicht mehr viel anrichten, du musst erst die xml-Daten in php einlesen und dann in php eine html-Seite zusammenstellen. Ich hab mal 10 Sekunden gegoogled:
<?xml version="1.0" encoding="ISO-8859-1"?>John Doeirgendwo
dann ergeben sich die gewuenschten Daten so:
// XML-Daten einlesen
$file="abc.xml";
$fp=fopen($file,"r");
$xml=fread($fp,filesize($file));
fclose($fp);
// XML-Baum abbilden
$tree=xmltree($xml);
// XML-Inhalte auslesen
$user=$tree-\>children[0]-\>children[1]-\>children[0]-\>content;
$ort=$tree-\>children[0]-\>children[3]-\>children[0]-\>content;
// Die Variablen kannst du in php beliebig verarbeiten und in eine html-Seite einfügen.
//Komplette Baumstruktur ausgeben, z.B. in
print\_r($tree);
// Du kannst aber besser als children[x] das XPath verwenden, z.B. so:
$name = $tree-\>getEltByPath("/wurzel/user/");
//Dann kannst du auch die Daten ändern und wieder in xml speichern
$tree-\>setEltByPath("/wurzel(1)/user(1)/@title", "Dr.");
Optionally change the output filename and save...
$tree-\>filename = "new-book.xml";
$tree-\>save();
Ralph
Hi Ralph,
wow, cool !!! Das muß ich doch gleich mal testen ;o) !!
Ich google auch schon ne ganze Weile zu diesem Thema, aber wenn man nicht genau weis wonach man suchen muß… ;o)
Also vielen Dank ers ma !!
Ich meld mich wieder, wenn ichs mal getestet habe !
Danke & Gruß
Thomas
hi,
beschäftige mich auch gerade mit dem thema und habe folgenden link gefunden: http://www.zend.com/zend/tut/
da gibt’s einige tutorials, die wirklich von null anfangen.
gruß
tobias