![]() |
XML auslesen, speichern und per PHP/HTML darstellen
Hallo,
will eine XML-Datei auslesen, speichern und dann die Inhalte mit PHP/HTML darstellen. Z. Z. mach ich das so, dass ich die Seite auslese $url = "http://eu.wowarmory.com/character-sheet.xml?r=Onyxia&n=Casan"; $inhalt = file_get_contents ($url); und dann die Inhalte ausschneide $pinGuildName = Substr ($inhalt, strpos($inhalt,"pinGuildName = ")+16,strpos($inhalt,"pinGuildUrl = ")-strpos($inhalt,"pinGuildName = ")-21); Es ist aber aufwendig und sehr langsam :-( Hab mir schon die Finger bei Google wund getippt :-( also wenn mir jemand helfen kann: 1. Wie krieg ich das hin, dass ich den XML-Inhalt und nicht HTML-Code habe. (die 2 anderen Punkte sind nicht so wichtig - wenn ich 1. habe kann ich selber weiter suchen, aber wenn jemand Lust hat... :-)) 2. Wie kann ich dieses dann auf meinen Web-Server und/oder lokal (als temp-Datei) speichern. 3. Wie kann ich dann diese XML per HTML/PHP lesen? ich danke für jede Hilfe (ausser "such bei Google" u. ä.) :-) ***wenn ich die $url mit z. B. TotalCommander auslese (downloade), krieg ich HTML-Code raus, wenn ich mit das mit Firefox anschaue (Quellcode) seh ich schön die XML, IE bring bei Quellcode einen Fehler*** |
Re: XML auslesen, speichern und per PHP/HTML darstellen
Ich könnte mir vorstellen, dass die Seite den Useragent überprüft, und auf diese Weise eine Browserweiche zu realisieren. Während der Firefox XML-Dokumente problemlos darstellen kann, haben manche Browser, vor allem ältere, ja noch probleme damit.
Wie du mit PHP den Useragent mitsenden kannst, weiß ich nicht, aber das müsste sich sicherlich herausfinden lassen. Wie du die Datei parsen kannst, hängt u.A. von der verwendeten PHP-version ab. Afaik wurden manche Funktionen erst mit version 5 implementiert. Es gibt aber auch einige in PHP geschriebene Parser, die zumindest auch uinter Version 4 funktionieren müssten. Ich hoffe, dass dir das weiterhilft. |
Re: XML auslesen, speichern und per PHP/HTML darstellen
Genau, die Seite verwendet eine Browserweiche. Sende also den User-Agent
Zitat:
(Mit der Browserweiche bekommt mein armer Opera zwar auch den HTML-Code, obwohl xml kein Problem darstellt, aber so sind die nunmal ^^) Du wirst wohl um ![]() Grüße, Julius |
Re: XML auslesen, speichern und per PHP/HTML darstellen
ich danke erstmal :-)
|
Re: XML auslesen, speichern und per PHP/HTML darstellen
Normal durchsucht man XML mit XPATH.
Du kannst das Ergebnis (oder die XML) mit XSLT in ein beliebiges Format bringen z.B. HTML zur Anzeige. Theoretisch brauchst du noch nicht mal PHP dazu, da die meisten Browser XML und XSLT verarbeiten können. Wenn du ältere Browser unterstützen willst, nimmst du einfach PHP mit dem DOM und läst dieses mit dem XSLT rendern. Ein schönes XML / XSLT Beispiel ist die Webseite: ![]() Komplett mit XML und Co gemacht. |
Re: XML auslesen, speichern und per PHP/HTML darstellen
Im PEAR-Repository gibt es u.U. auch passende Klassen
|
Re: XML auslesen, speichern und per PHP/HTML darstellen
Punkt 1. erledigt :-)
$url= "http://eu.wowarmory.com/character-sheet.xml?r=".$realm."&n=".$char; ini_set("user_agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); $xml = simplexml_load_file($url); $xml2 = $xml->asXML(); und dann schreib ich die $xml2 in die Datenbank - fsockopen ist bei mir gesperrt, hab immer Fehler bekommen dass die Datei nur 776 ist oder sowas, also hab ich mich für Datenbank entschieden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz