Вы не говорите, хотите ли вы элементы как SimpleXMLElements или просто значения Person.P_Id
.Чтобы получить объекты, вы можете использовать xpath
для получения массива:
$itemobjs = $xml->xpath('//Item');
print_r($itemobjs);
Вывод:
Array
(
[0] => SimpleXMLElement Object
(
[Person.P_Id] => 14845
)
[1] => SimpleXMLElement Object
(
[Person.P_Id] => 14844
)
[2] => SimpleXMLElement Object
(
[Person.P_Id] => 14837
)
[3] => SimpleXMLElement Object
(
[Person.P_Id] => 14836
)
)
Если вы просто хотите Person.P_Id
затем вы можете выполнить итерацию этого массива, используя array_map
:
$items = array_map(function ($v) { return (string)$v->{'Person.P_Id'}; }, $itemobjs);
print_r($items);
Вывод:
Array
(
[0] => 14845
[1] => 14844
[2] => 14837
[3] => 14836
)
Демонстрация на 3v4l.org