Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Zugriff auf SimpleXML-Objects [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Zugriff auf SimpleXML-Objects


 
Scheuch
31-05-2005, 14:25 
 
Hallo zusammen,

ich arbeite gerade mit einem Web Service, der mir als erstes ein Suchergebnis in einem stdClass Object zurückgibt.

Dieses wird in $result gespeichert.

Nun wird das xml-Item des Objekts in der foreach-Schleife angesprochen, dekodiert (ist notwendig) und in $xml_str gespeichert.

print_r($xml_str) gibt mir den im Zitat stehenden Inhalt zurück ... sowie ich es wollte.

Das Problem ist jetzt - ich möchte die Ausgabe entsprechend formatieren und wollte die einzelnen Objekte mit z.B. echo "size: " .$xml->size. "\n"; ansprechen. Leider verweigert man mir die Ausgabe.

Laut google und seinen Ergebnissen müsste der Code so richtig sein, um die einzelnen Elemente anzusprechen. Aber ich denke mal, ich hab da irgendwo einen Fehler drin. :rolleyes:

Wer kann mir weiterhelfen?


...
$result = $client->search($session, $nquery, $minLat, $minLon, $maxLat, $maxLon, $offset, $count);

foreach($result->results as $item)
{
$xml_str = simplexml_load_string(base64_decode($item->xml));
//print_r($xml_str);

echo "size: " .$xml_str->size. "\n";
}


SimpleXMLElement Object ( [citation] => SimpleXMLElement Object ( [author] => König-Langlo, G [date] => 2005 [title] => Meteorological observations during POLARSTERN cruise ANT-XXII/2 [URI] => doi:10.1594/PANGAEA.267682 [publicationDateTime] => 2005-04-28T08:33:00 ) [size] => 11537 data points [extent] => SimpleXMLElement Object ( [geographic] => usw.

...sind Forschungsdaten bitte nicht wundern ;) )

MfG
Benny

 
Scheuch
31-05-2005, 16:08 
 
Nach zwei Nervenzusammenbrüchen gibt er endlich das aus was er soll.

Lösung: Die XML-Datei enthielt Namespaces, welche mit var_dump und Co. nicht mit angezeigt wurden. Betrachtet man sich das Ganze mit $xml_str = $xml->asXML();
print_r($xml_str); und dann im Browser den Quelltext, findet man sie hingegen. Also schnell die dort angegebene xmlns:xy-Adresse angegeben mittels z.B. $xml_str = $xml->children('http://www.abc.de/MetaData');
Kleine Ursache, große Wirkung.
Kann man sich einen ganzen Tag mit versauen:D

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:52 Uhr.