Hi,

Ik probeer een api te maken met XML.
De XML file doet het al wel http://www.habboinfo.nl/generator/badges/api.xml
Alleen ik wil met een Simple XML die badges ophalen.
Weten jullie hoe ik dit moet gaan doen ?

Ik had dit al geprobeerd maar dat werkte dus niet :P

<?php
$xml=simplexml_load_file("http://www.habboinfo.nl/generator/badges/api.xml");

echo $xml->badgecode."<br />";
echo $xml->land."<br />";
echo $xml->date."<br /><br />";
?>

http://www.habboinfo.nl/generator/badges/runapi.php

Hopelijk weten jullie iets.
Justin
Doe eens

<?php
$xml = simplexml_load_file("http://www.habboinfo.nl/generator/badges/api.xml");

echo '<pre>';
print_r($xml);
echo '</pre>';
?>

Als het goed is krijg je een array te zien met elementen.
Dan is het met een foreach() loop de juiste aanroepen.

<?php
$xml = simplexml_load_file("http://www.habboinfo.nl/generator/badges/api.xml");

foreach( $xml as $item)
{
  echo $item->badgecode.'<br />';
  echo $item->land.'<br />';
  echo $item->date.'<br />';
  echo '<hr>';
}
?>
Een aantal dingen:
- Je xml file klopt niet.
Een xml string begint bv met <?xml version="1.0" encoding="UTF-8"?>
Dan is er nog een overkoepelende tag nodig, zodat de volledige xml 1 stam heeft, dus in 1 element zit.

bv. voor jou:

<?xml version="1.0" encoding="UTF-8"?>
<badges>
  <badge>
    <badgecode>ACH_PinataWhacker1</badgecode>
    <land>com</land>
    <date>19-07-2013 12:00</date>
  </badge>
  <badge>
    <badgecode>ACH_PinataWhacker9</badgecode>
    <land>com</land>
    <date>18-07-2013 17:45</date>
  </badge>
...
</badges>



----

Dan kan je bv. dit doen:
<?php
if( $xml = simplexml_load_file('api.xml') ) {
foreach( $xml as $badge ) {
echo $badge->badgecode . '<br>';
}
}
?>
Dank jullie wel voor je hulp!

[size=xsmall]Toevoeging op 19/07/2013 16:14:55:[/size]

Weten jullie ook waarom ik dit niet kan:

<description>&</description>

Want ik zie nu error:

XML-parsefout: onjuist gevormd
Locatie: http://www.habboinfo.nl/generator/badges/api.xml
Regelnummer 4, kolom 20:                <descriotion>&</descripion>
------------------------------------------------------^
Laat me raden omdat de & een speciaal karakter is in HTML/XML ?

zie:

<?php
htmlspecialchars();
?>

en

<?php
htmlspecialchars_decode();
?>
En ook zie ik:

<descriotion>&</descripion>

Die twee matchen elkaar niet echt.

Reageren