Hallo,

Ik ben bezig met het uitlezen van een xml maar krijg het niet voor elkaar.
Het volgende heb ik:

$xml = simplexml_load_file($xmlUrl);

foreach($xml->children() as $child)

{
print_r ($child);
}

resultaat:
SimpleXMLElement Object ( [orderdate] => 2014-09-06 17:50:41

Nu wil ik graag de orderdate eruit halen
Wat doe ik fout wanneer ik ondestaand gebruik?

print_r ($child->orderdate);

Ik kan beter vragen wat moet ik wegschrijven.

Alvast bedankt!

Mark
Ok nu begrijp ik het,zit ik hier toch goed bij beginnen met php.

<response>
<data>
<orders>
<item>
<orderdate> </orderdate>
<ordernumber> </ordernumber>
<status> </status>
</item>
</orders>
</data>
</response>
Wat geeft
<?php echo '<pre>'.print_r($xml,1).'</pre>'; ?>
Dan krijg ik onderstaande:

SimpleXMLElement Object
(
[data] => SimpleXMLElement Object
(
[orders] => SimpleXMLElement Object
(
[item] => SimpleXMLElement Object
(
[orderdate] =>
[commission] =>
[ordernumber] =>
[orderamount] =>
[status] =>
[reason] => SimpleXMLElement Object
(
)

[referer] =>
[subid] => SimpleXMLElement Object
(
)

[linkinfo] =>
[publisher] => SimpleXMLElement Object
(
[name] => SimpleXMLElement Object
(
)

[id] =>
)

[merchant] => SimpleXMLElement Object
(
[name] =>
[id] =>
)
Het is handiger als je degelijke code tussen [ code ] tags plaatst.
Dat leest wat fijner...


<?php echo $xml->data->orders->item->orderdate; ?>

staat je error reporting aan?

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
?>
Nu krijg ik inderdaad de datum te zien.

Moet ik nu zoals onderstaand invullen:
<?php
foreach($xml->children() as $child)

{

$date = $child->data->orders->item->orderdate;
}
?>
<?php
foreach($xml->data->orders as $order)
{
echo $order->item->orderdate.'<br>';
echo $order->item->ordernumber.'<br>';
echo $order->item->status.'<br><br>';
}
?>
He Frank,

Super bedankt!! Dit werkt.
Alleen wordt het nu twee maal in de database weggeschreven maar dat is een ander probleem die ik moet zien op te lossen.

Reageren