Jess McKenzie
Jess McKenzie

Reputation: 8385

Creating a foreach array from multiple xml elements

I have been trying to create a foreach loop that will get every ListingId from the XML file but for some reason I can only get one 'Id'

XML STRUCTURE:

<List>
    <Listing>
        <ListingId></ListingId>
</Listing>
    <Listing>
        <ListingId></ListingId>
</Listing>
    <Listing>
        <ListingId></ListingId>
</Listing>
</List>

PHP:

$xml = simplexml_load_file("domain.co.nz/xml.xml");

        foreach($xml->List->Listing->ListingId as $value)
        {

            $xmlArray[] = $value;
        }

Upvotes: 1

Views: 2006

Answers (1)

David M&#252;ller
David M&#252;ller

Reputation: 5351

<?php
$xml = '<List>
    <Listing>
        <ListingId>12</ListingId>
</Listing>
    <Listing>
        <ListingId>13</ListingId>
</Listing>
    <Listing>
        <ListingId>14</ListingId>
</Listing>
</List>';


$xml = simplexml_load_string($xml);
$arr = array();

foreach($xml->Listing as $value)
{
    $arr[] = intval($value->ListingId);
}

print_r($arr); //Array ( [0] => 12 [1] => 13 [2] => 14 )

Upvotes: 1

Related Questions