Есть xml файл вида:
<item color1="ffffff" color2="ffffff" cooldown="180000" description="<font color="c4f5f6" size="7" bold="0" italic="0" underline="0" name="Arial" /><text align="W">

</text>" getTooltip="0" heap="0" icon="armboots0031" itemlvl="40" maxdurability="600" name="Зачарованные сапоги" name_end="4" quested="0" race="0" reqlvl="40" scale="0.0130" slot="12" subtype="AB" typeid="7393" typename="armor" url="boots_steel" useas="1">
<bonus id="99" value="20.000000"/>
<bonus id="256" value="0.650000"/>
<bonus id="257" value="0.490000"/>
<bonus id="2" value="210.000000"/>
<bonus id="244" value="0.600000"/>
<bonus id="248" value="0.520000"/>
<bonus id="249" value="0.410000"/>
<bonus id="304" value="1.000000"/>
<bonus id="0" value="0.000000"/>
<bonus id="0" value="0.000000"/>
</item>
<item color1="ffffff" color2="ffffff" cooldown="180000" description="<font color="c4f5f6" size="7" bold="0" italic="0" underline="0" name="Arial" /><text align="W">

</text>" getTooltip="0" heap="0" icon="armpants0039" itemlvl="40" maxdurability="600" name="Зачарованные поножи" name_end="4" quested="0" race="0" reqlvl="40" scale="0.0130" slot="11" subtype="AL" typeid="7394" typename="armor" url="pants1" useas="1">
<bonus id="99" value="21.000000"/>
<bonus id="256" value="0.580000"/>
<bonus id="257" value="0.510000"/>
<bonus id="2" value="410.000000"/>
<bonus id="248" value="0.650000"/>
<bonus id="249" value="0.550000"/>
<bonus id="240" value="0.020000"/>
<bonus id="304" value="1.000000"/>
<bonus id="0" value="0.000000"/>
<bonus id="0" value="0.000000"/>
</item>
Как при помощи simplexml_load_file получить все bonus id и value для каждого item'a в виде массива с ключом id и значением value: 99=>21, 256=>0.58, 257=>0.51 и тд
Получилось сделать только так, что к каждому item'y подтягивается только первый bonus.
$feedObj = simplexml_load_file("type.xml");
$arr = [];
foreach($feedObj as $items) {
$name = (string)$items[name];
$typeid = (string)$items[typeid];
$typename = (string)$items[typename];
$url = (string)$items[url];
$bonusArr = json_decode(json_encode($items->bonus), TRUE);
$arr[$name] = [$typeid,$typename,$url,$bonusArr];
}
var_dump($arr['Зачарованные поножи']);
array(4) {
[0]=> string(4) "7394"
[1]=> string(5) "armor"
[2]=> string(6) "pants1"
[3]=> array(1) { ["@attributes"]=> array(2) { ["id"]=> string(2) "99" ["value"]=> string(9) "21.000000" } } }
Спасибо.