2012-03-30 10 views
1

Hallo, ich bin zu kämpfen Daten aus einer XML-Datei in PHP zu bekommen ...php simplexml_load_file mit einem Bindestrich (-)

die XML-Datei hier: http://musicbrainz.org/ws/2/artist/8bfac288-ccc5-448d-9573-c33ea2aa5c30?inc=release-groups

und so weit, nachdem es in Laden simplexml_load_file wie $ xml mag ich so etwas wie dies zu tun:

<?php 
$url = "http://musicbrainz.org/ws/2/artist/8bfac288-ccc5-448d-9573-c33ea2aa5c30?inc=release-groups"; 
$xml = simplexml_load_file($url); 

$releasegrouplist = "release-group-list"; 
$releasegroup = "release-group"; 

$i = "0"; 
for ($i = 0; $i <= 30; $i++) 
    { 
    echo "release: " . $xml->artist->$releasegrouplist->$releasegroup[$i]->title;} 

Das Problem entsteht, wenn ich versuche, es für Schleife mit einem $ i Variable in einem zu verwenden, wie oben gezeigt.

Irgendwelche Tipps oder einfachere Möglichkeiten, dies zu tun?

Danke allen

Antwort

3

Versuchen Sie stattdessen diese Syntax. Dieses Skript funktioniert für mich mit der Änderung unten (PHP 5.3.6).

echo "release: " . $xml->artist->{'release-group-list'}->{'release-group'}[$i]->title; 

Source

+1

Vielen Dank! [und danke für Ihre Geduld, mir zu helfen und Mangel an Zynismus] –

0

Sie haben nicht gesagt, eigentlich uns, was das Problem ist, aber ich vermute, es ist, dass Sie nicht die SimpleXML section in the PHP manual gelesen haben, wo es heißt

Zugriff auf Elemente innerhalb eines XML-Dokuments, das Zeichen enthält, die nicht gemäß der Benennungskonvention von PHP zulässig sind (z. B. der Bindestrich), kann erreicht werden, indem der Elementname in geschweifte Klammern und das Apostroph eingekapselt wird.

Verwandte Themen