Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich versuche gerade eine Twitter XML-Datei per PHP einzulesen, scheitere aber an der Angabe für xpath.

Ich nutze folgende Funktion:


function get_rss_items($url) {

// retrieve search results
if($xml = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA)) {
$result["title"] = $xml->xpath("/feed/entry/title");

foreach($result as $key => $attribute) {
$i=0;
foreach($attribute as $element) {
$ret[$i][$key] = (string)$element;
$i++;
}
}
return $ret;
} else
return false;
} [/PHP]

Wenn ich die Funktion jetzt für folgenden URL ausführe:

Code:

[code] http://search.twitter.com/search.atom?q=from:ashtonfans&rpp=5[/code]

Funktioniert es nicht, ich bekomme einfach nichts zurück. Ich habe es schon mit unterschiedlichen xpath-Angaben versucht, bekomme es aber nicht hin.

Es liegt wohl an der Formatierung der XML Datei nehme ich an.

Wenn ich mir das Ergebnis von simplexml_load_file mal durch var_dump($xml) ansehe, bekomme ich dieses Ergebnis:

[PHP]object(SimpleXMLElement)#1 (5) {
["id"]=>
string(50) "tag:search.twitter.com,2005:search/from:ashtonfans"
["link"]=>
array(4) {
[0]=>
object(SimpleXMLElement)#9 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "text/html"
["rel"]=>
string(9) "alternate"
["href"]=>
string(52) "http://search.twitter.com/search?q=from%3Aashtonfans"
}
}
[1]=>
object(SimpleXMLElement)#8 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(20) "application/atom+xml"
["rel"]=>
string(4) "self"
["href"]=>
string(61) "http://search.twitter.com/search.atom?q=from:ashtonfans&rpp=5"
}
}
[2]=>
object(SimpleXMLElement)#7 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(37) "application/opensearchdescription+xml"
["rel"]=>
string(6) "search"
["href"]=>
string(40) "http://search.twitter.com/opensearch.xml"
}
}
[3]=>
object(SimpleXMLElement)#6 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(20) "application/atom+xml"
["rel"]=>
string(7) "refresh"
["href"]=>
string(83) "http://search.twitter.com/search.atom?q=from%3Aashtonfans&rpp=5&since_id=1807292034"
}
}
}
["title"]=>
string(32) "from:ashtonfans - Twitter Search"
["updated"]=>
string(20) "2009-05-05T18:36:45Z"
["entry"]=>
array(4) {
[0]=>
object(SimpleXMLElement)#5 (7) {
["id"]=>
string(38) "tag:search.twitter.com,2005:1708640515"
["published"]=>
string(20) "2009-05-05T18:36:45Z"
["link"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#10 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "text/html"
["rel"]=>
string(9) "alternate"
["href"]=>
string(49) "http://twitter.com/ashtonfans/statuses/1708640515"
}
}
[1]=>
object(SimpleXMLElement)#11 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "image/png"
["rel"]=>
string(5) "image"
["href"]=>
string(95) "http://s3.amazonaws.com/twitter_production/profile_images/192332891/Picture_4_bigger_normal.png"
}
}
}
["title"]=>
string(118) "â€Å“I want to be like Tom Cruise from The Outsiders and go on and do amazing movies for a long time.â€Â ~Ashton Kutcher"
["content"]=>
string(118) "â€Å“I want to be like Tom Cruise from The Outsiders and go on and do amazing movies for a long time.â€Â ~Ashton Kutcher"
["updated"]=>
string(20) "2009-05-05T18:36:45Z"
["author"]=>
object(SimpleXMLElement)#12 (2) {
["name"]=>
string(27) "ashtonfans (ashton kutcher)"
["uri"]=>
string(29) "http://twitter.com/ashtonfans"
}
}
[1]=>
object(SimpleXMLElement)#4 (7) {
["id"]=>
string(38) "tag:search.twitter.com,2005:1708445493"
["published"]=>
string(20) "2009-05-05T18:14:45Z"
["link"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#13 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "text/html"
["rel"]=>
string(9) "alternate"
["href"]=>
string(49) "http://twitter.com/ashtonfans/statuses/1708445493"
}
}
[1]=>
object(SimpleXMLElement)#14 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "image/png"
["rel"]=>
string(5) "image"
["href"]=>
string(95) "http://s3.amazonaws.com/twitter_production/profile_images/192332891/Picture_4_bigger_normal.png"
}
}
}
["title"]=>
string(104) "â€Å“I think good things come to those who want something so bad they can't sit still.â€Â ~ Ashton Kutcher"
["content"]=>
string(104) "â€Å“I think good things come to those who want something so bad they can't sit still.â€Â ~ Ashton Kutcher"
["updated"]=>
string(20) "2009-05-05T18:14:45Z"
["author"]=>
object(SimpleXMLElement)#15 (2) {
["name"]=>
string(27) "ashtonfans (ashton kutcher)"
["uri"]=>
string(29) "http://twitter.com/ashtonfans"
}
}
[2]=>
object(SimpleXMLElement)#3 (7) {
["id"]=>
string(38) "tag:search.twitter.com,2005:1680748716"
["published"]=>
string(20) "2009-05-02T19:24:21Z"
["link"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#16 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "text/html"
["rel"]=>
string(9) "alternate"
["href"]=>
string(49) "http://twitter.com/ashtonfans/statuses/1680748716"
}
}
[1]=>
object(SimpleXMLElement)#17 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "image/png"
["rel"]=>
string(5) "image"
["href"]=>
string(95) "http://s3.amazonaws.com/twitter_production/profile_images/192332891/Picture_4_bigger_normal.png"
}
}
}
["title"]=>
string(132) ""Men think highly of those who rise rapidly in the world; whereas nothing rises quicker than dust, straw, and feathers." _Lord Byron"
["content"]=>
string(142) ""Men think highly of those who rise rapidly in the world; whereas nothing rises quicker than dust, straw, and feathers." _Lord Byron"
["updated"]=>
string(20) "2009-05-02T19:24:21Z"
["author"]=>
object(SimpleXMLElement)#18 (2) {
["name"]=>
string(27) "ashtonfans (ashton kutcher)"
["uri"]=>
string(29) "http://twitter.com/ashtonfans"
}
}
[3]=>
object(SimpleXMLElement)#2 (7) {
["id"]=>
string(38) "tag:search.twitter.com,2005:1677523969"
["published"]=>
string(20) "2009-05-02T09:32:21Z"
["link"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#19 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "text/html"
["rel"]=>
string(9) "alternate"
["href"]=>
string(49) "http://twitter.com/ashtonfans/statuses/1677523969"
}
}
[1]=>
object(SimpleXMLElement)#20 (1) {
["@attributes"]=>
array(3) {
["type"]=>
string(9) "image/png"
["rel"]=>
string(5) "image"
["href"]=>
string(95) "http://s3.amazonaws.com/twitter_production/profile_images/192332891/Picture_4_bigger_normal.png"
}
}
}
["title"]=>
string(99) "â€Å“Small minds discuss people. Average minds discuss events. Great minds discuss ideas.â€Â -unknown"
["content"]=>
string(99) "â€Å“Small minds discuss people. Average minds discuss events. Great minds discuss ideas.â€Â -unknown"
["updated"]=>
string(20) "2009-05-02T09:32:21Z"
["author"]=>
object(SimpleXMLElement)#21 (2) {
["name"]=>
string(27) "ashtonfans (ashton kutcher)"
["uri"]=>
string(29) "http://twitter.com/ashtonfans"
}
}
}
}

Hat jemand eine Idee?

Danke

Gruß

Oneside

Beitrag bearbeiten/löschen

Geschrieben

1) var_dump($result)

dürfte etwa so aussehen:


Array

(

[0] => SimpleXMLElement Object

  (

  [0] => <titel>

  )

)

2) list( , $result["title"]) = $xml->xpath("/feed/entry/title");

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...