Einfache XML-Datei Laden funktioniert nicht
kommen, wie funktioniert das nicht:
$url = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20xpath%3D%22%2F%2Fmeta%22%20and%20url%3D%22http://www.cnn.com%22&format=xml&diagnostics=false";
$xml = (simplexml_load_file($url))
Bekomme ich mehrere Fehler, die mir die HTTP-Anforderung ist fehlgeschlagen. Letztendlich möchte ich, um die Ergebnisse aus dieser Datei in ein array zB
Description = CNN.com liefert die neuesten brechenden Nachrichten etc.
Keywords = CNN, CNN news, CNN.com CNN-TV etc.
Aber, dass diese erste Phase nicht funktioniert. Jede Hilfe bitte?
BEARBEITEN
Zusätzliche Informationen:
Fehler:
Warnung: simplexml_load_file(http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20xpath%3D%22//meta%22%20and%20url%3D%22http://www.cnn.com%22&format=xml&diagnostics=false) [function.simplexml-load-file]: failed to open stream: HTTP request failed! # Warnung: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20xpath%3D%22//meta%22%20and%20url%3D%22http://www.cnn.com%22&format=xml&diagnostics=false"
- Aus meiner phpinfo():
allow_url_fopen Auf On - PHP version 5.2.11
- Denke, es ist gültig (http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20xpath%3D%22//meta%22%20and%20url%3D%22http://www.cnn.com%22&format=xml&diagnostics=false)
getestet habe ich diese auf meinem lokalen xampp-installation, und ich kann nicht reproduzieren Sie Ihre Fehlermeldungen. mein Skript: pastie.org/2895218. könnten Sie bitte versuchen, öffnen Sie die gewünschte Seite in Ihrem browser, speichern Sie es als test.xml, auf server laden und versuchen, eine
Ich habe versucht das script (kein Glück) aber dann mit einer lokalen Datei, wie Sie vorschlagen, und es HAT funktioniert! Also, was bedeutet das? Vielen Dank für Ihre großartige Hilfe bisher...
hmmm... muss es etwas falsch mit Ihrem server - oder php-Einstellungen - aber ich habe keine Ahnung, was... gib mir etwas mehr Zeit: ich werde zurück sein
Welche version von libxml verwenden Sie? (
Es 2.7.3......
simplexml_load_file("test.xml");
? bekommen Sie die gleichen Fehler, wenn Sie versuchen, diese?Ich habe versucht das script (kein Glück) aber dann mit einer lokalen Datei, wie Sie vorschlagen, und es HAT funktioniert! Also, was bedeutet das? Vielen Dank für Ihre großartige Hilfe bisher...
hmmm... muss es etwas falsch mit Ihrem server - oder php-Einstellungen - aber ich habe keine Ahnung, was... gib mir etwas mehr Zeit: ich werde zurück sein
Welche version von libxml verwenden Sie? (
phpinfo()
wird Ihnen sagen,)Es 2.7.3......
InformationsquelleAutor Sean McRaghty | 2010-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Hinweis: Möglicherweise nutzlos Antwort einmal eine wirkliche Antwort gefunden wurde...)
Während Sie herauszufinden, die XML-problem (wird weiter daran gearbeitet!) wissen, dass Sie können auch die YQL-Antwort als JSON. Hier ist ein schnelles Beispiel:
Geben ein array wie (text gekürzt für den Bildschirm):
Beachten Sie, dass die YQL-Abfrage (versuchen Sie es in der Konsole) ist etwas anders zu verkaufen, um die PHP einfacher.
In diesem Fall ändern Sie die YQL-Abfrage werden weniger restriktive (wie original). Beachten Sie, dass nicht alle meta-tags enthalten
name
undcontent
Attribute.Ich habe eigentlich nur versucht, Ihren code und leider bekomme ich den gleichen Fehler:
file_get_contents(http://query.yahooapis.com/v1/public/yql?q=select+%2A+from+html+where+xpath%3D%22%2F%2Fmeta...) [function.file-get-contents]: failed to open stream: HTTP request failed!
undwarning: Invalid argument supplied for foreach()
Was falsch sein könnte????Dies ist eine lange-shot aber haben Sie eine firewall zwischen, wo Sie sind, läuft das Skript aus und der Außenwelt? Versuchen Sie es mit cURL zu sehen, ob es auch blockiert wird. Können Sie mit telnet auf query.yahooapis.com?
Sorry, aber ich habe keine Ahnung, wie form eine cURL-Anfrage (gibt es einige einfache code, den ich versuchen könnte?) und ich habe nicht einen telnet-client. Scheint eine Schande, dass in meiner Entwicklungsumgebung (localhost) Dinge nicht funktionieren, wird wahrscheinlich Arbeit in meine Produktion und Umwelt (ie) im web.
InformationsquelleAutor salathe
Gut, die XML ist GETable. Wie für gültig, es fehlt
<?xml version="1.0"?>
, aber ich denke, es ist nicht erforderlich.Testete es auf meinem lokalen server (PHP 5.3), keine Fehler gemeldet. Ich habe deinen source-code und es funktioniert. Hier ein print_r():
Ich würde vorschlagen, Sie zum codieren der URL, aber es ist bereits getan. Sie könnten versuchen Sie, die Abfrage mit cURL.
InformationsquelleAutor Joel A. Villarreal Bertoldi