[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: XML to Array
phant
Всем привет! Помогите пожалуйста!

Есть XML код вида:

<response>
<identify res="OK"/>
<rubricator>
<rubric id="1" parentId="0">Автомобили</rubric>
<rubric id="2" parentId="1">Автозапчасти и аксессуары</rubric>
<rubric id="3" parentId="2">Автозапчасти для грузовых автомобилей</rubric>
<rubric id="4" parentId="2">Автозапчасти для легковых автомобилей</rubric>
</rubricator>
</response>

Нужно преобразовать его в массив, с учетом всех id и parentid, для дальнейшей привязки.


Давным-давно нашел какую-то функцию, которая это всё дело в массив преобразовывала, но, блин забыл ее. Задолбался уже гуглить user posted image



Спустя 2 минуты, 35 секунд (9.08.2010 - 08:55) Romms написал(а):
phant, может кодик оформить? smile.gif

тут тебе будет рай!
http://phpforum.ru/index.php?showtopic=15291

Спустя 19 минут, 14 секунд (9.08.2010 - 09:14) linker написал(а):
Romms
Тут не будет ему рая. Парсить XML регулярками - это нонсенс.
$Xml = new DomDocument();
$Xml->load('file.xml');
$XPath = new DOMXPath($Xml);
$RubricNodes = $XPath->query('//rubricator/rubric');
$RubricArray = array();
foreach($RubricNodes as $RubricNode)
{
$ParentId = (integer)$RubricNode->getAttribute('parentid');
$Id = (integer)$RubricNode->getAttribute('id');
$Value = $RubricNode->nodeValue;
// Начало положено, теперь здесь сам строишь массив
}

Спустя 1 час, 48 минут, 50 секунд (9.08.2010 - 11:03) phant написал(а):
Всё супер! Большое спасибо! smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.