SimpleXMLParser

Sancheck

Legendäres Mitglied
Hallo,
nachdem ich bis dato immer nur selbst geparsed habe und den SimpleXML Parser noch nie angewandt habe, nun meine Frage, wie funktioniert der?
Hier habe ich eine XML bereits mit dem SimplexmlParser_loadstring() ausgegeben.
http://w0c.de/search.php?Suche=Iphone
Nun wuerde ich gerne z.b. immer die [name] auslesen.

Best regards,

Andreas
 
echo "Gesucht: $_GET[Suche]<br /><br />";
$Suchwort = $_GET[Suche];
$Suchwort = str_replace(' ', ',', $Suchwort);

$Anfrage = "http://api.zanox.com/xml/2009-07-01/products?q='$Suchwort'&
searchtype=phrase&programs=139&region=de&searchtype=phrase&connectid=79453E04F488274E31C1";

$Antwort = file_get_contents($Anfrage);

$Rohdaten = simplexml_load_string($Antwort);

//print_r($Rohdaten);

foreach ($Rohdaten[productItems][productItem] as $productItem){
echo $productItem[name].'<br>';

}

Schmeisst nen fehler bei den Productitems aber das is mir e klar,...trotzdem gehts ned
 
Ein Kunde hat diverse Domains, die unter Drupal laufen - und verwaltet gemeinsame Daten für alle Domains über Server-Daten.

Da hatte ich ihm mal ein Drupal-Modul gebaut, das in etwa den folgenden Code enthält:

CODE $xFile = simplexml_load_file("http://kundendatenbank.server-daten.de/queries/abfragexy/data.xml");

$i = 0;

if ($xFile) {
foreach ($xFile->abfragexy as $r) {
$out .= '<tr' . ($i == 1 ? ' class="sd-second"' : '' ) .
'><td>'.$r->Firmenname .'</td><td>' . $r->MaxZins .
'</td><td>' . $r->BonusDauer_bis . '</td><td>' . $r->Zins_ab_Mindesteinlage .
'</td><td>' . $r->Mindesteinlage . '</td><td>' . $r->Hinweise .
'</td><td><a target="_new" href="http://datenbank.server-daten.de/redirect/do.html?Parameter=' . $r->AngeboteId . '">Kontoeröffnung</a></td></tr>';

$i = ($i == 0 ? 1 : 0);
}
}





Sprich: Der Zugriff erfolgt über $xFile->Spaltenname.

Das Xml-Dokument sieht ungefähr so aus:


CODE
<NewDataSet>
<abfragexy>
<Firmenname>Name der Firma</Firmenname>
<MaxZins>Maximaler Zins</MaxZins>
...
</abfragexy>
</NewDataSet>


Analoges Beispiel: http://beispiel.server-daten.de/views/ArtikelView/data.xml

Sprich: Der Zugriff erfolgt nicht über ein Arraykonstrukt, sondern über solche Unterobjekte.

PS: Ich bin mit PHP nicht so firm. Eventuell sind beide Techniken sogar äquivalent. Dein Code könnte auch crashen, weil die Daten fehlen oder nicht wohlgeformt sind. Die obige Technik läuft jedenfalls schon seit einem Jahr.
 
Danke erstmal. Ja ich programmiere mehr C# usw. Ich werd mir das in Kuerze in Ruhe durchlesen.
 
Hallo,


$Antwort = file_get_contents($Anfrage);

$Rohdaten = simplexml_load_string($Antwort);
//var_dump($Rohdaten->productItems->productItem[0]);

for($i=0;$i<count($Rohdaten->productItems->productItem);$i++)
{


Habs geschafft
 
Zurück
Oben