XML Parsen

27o8

abgemeldet
2 Mai 2006
9.028
933
Moin,
ich möchte gerne ein XML Dokument so parsen, das ich die Werte in einer Variable habe, um das weiterzuverarbeiten. Die XML Struktur von einem Produkt sieht so aus:

<item>
<name>Newssystem Pro</name>

<price>6000000</price>

<description>Newssystem Pro Erweitertes Newssystem fürs VMS</description>

<category>VMS Addons</category>

<categoryid>2</categoryid>

<produktid>1</produktid>

</item>
Wobei dann jeweils der Name z.B. in der Variable $name steht und Price in $price etc.!

Meine bisheringen versuche sind alle nix geworden, das meiste was ich geschafft habe war den Namen auszugeben mehr aber auch nicht :( ich hab mich noch nie damit beschäftigt.

Was wäre der einfachste Weg das zu machen?

Meine bisheringen Versuche wollte ich eigentlich ja nicht zeigen :LOL: weil die so schlecht sind das man sich für schämen muss aber hier sind sie :LOL:

PHP:
<? 
$fcontents = join ('', @file ('https://scriptshop.org/api/catalog_export.php?uid=184974&api_key=meinkey'));
$splices = explode ("</item>", $fcontents);
 $stop_at = count($splices);
$ausgabe = '<p>';
for ($i = 1; $i < $stop_at; $i++){
 $name = explode("</name>",$splices[$i]);
 $price = explode("</price>",$splices[$i]);
 $description = explode("</description>",$splices[$i]);
 $category = explode("</category>",$splices[$i]);
 $categoryid = explode("</catedoryid>",$splices[$i]);
 $produktid = explode("</produktid>",$splices[$i]);
 $url = explode("</url>",$splices[$i]);
$ausgabe .= '<b>'.$name[0].'</b>';
$ausgabe .=     '</p>';
}
print $ausgabe;
?>

Natürlich steht dann in $price auch alles was davor kam :ugly: und das möchte ich verhindern.

Gruß
Gremlin
 
was hastn für ne php version. Ab 5 ist simplexml standardmässig verfügbar...

PHP:
$xml = simplexml_load_file(die xml datei);
echo $xml->name;
echo $xml->price;
...
 
Ich habe php4 :-? deshalb muss ich das ja leider so umständlich lösen :-?
Trotzdem danke =)

Gruß
Gremlin
 
Naja, man findet sicher auch andere 3rd Party XML Parser, die man so einbinden kann.

Aber wenn dir der XML-Schinckschnack im Prinzip egal ist, bau dir ne Regexp mit der du die Sachen ausliest.