Работа с Simple XML
Всем привет! Помогите знающие люди:
Не могу добраться до узлов XML дереве. Вот пример XML-файла:
<?xml version="1.0" encoding="utf-8"?>
<Dictionary>
<Item>
<CFO_CODE>12345</CFO_CODE>
<CFO_NAME>Предприятие_0</CFO_NAME>
<TECH_NAME>TEST1</TECH_NAME>
</Item>
<Item>
<CFO_CODE>7890</CFO_CODE>
<CFO_NAME>Предприятие_1</CFO_NAME>
<TECH_NAME>TEST2</TECH_NAME>
</Item>
<Item>
<CFO_CODE>5689</CFO_CODE>
<CFO_NAME>Предприятие_2</CFO_NAME>
<TECH_NAME>TEST3</TECH_NAME>
</Item>
</Dictionary>
Мне нужно собрать в 1 массив все значения узлов CFO_CODE.
Вот что есть на данный момент: Тестирую, используя Postman
Точка входа (первым вызывается метод updateDictionary):
public static function updateDictionary($params)
{
$content = file_get_contents('php://input');
$xml = new \SimpleXMLElement($content);
$items = $xml->xpath('/Dictionary/Item');
self::addOrUpdateDictionaryCFO('cfo', $items);
return'success';
}
public static function addOrUpdateDictionaryCFO($iblockCode, $data)
{
$iblockId = IblockHelper::getIblockIdByCode($iblockCode);
foreach ($data as $dataItem) {
$cfoCodes[] = $dataItem->CFO_CODE;
}
}
Проблема в том, что в $cfoCodes лежат не значения узлов, а объекты, а как добраться до самих значений - пока не знаю. Помогите пожалуйста.
Источник: Stack Overflow на русском