Только начинаю осваивать XML, а потому несовсем понимаю все же как с ним правильно работать, порыскав по ИНету и почитав пару статей - понял, что MiniXML - это для меня, как для начинающего неплохой выход, однако пока безуспешно бьюсь над такой проблемой: Имеется такой вот массив: PHP: $menu = array( 'Главная' => $url . '/admin/?mod=system', 'Сайт' => array ( 'Конфигурация сайта' => $url . '/admin/?mod=config&task=config', 'Файловый менеджер' => $url . '/admin/?mod=fileman&task=main', 'Управление шаблонами' => array ( 'Шаблоны сайта' => $url . '/admin/?mod=templates&task=main&temp=site', 'Шаблоны админки' => $url . '/admin/?mod=templates&task=main&temp=admin' ), 'Статистика сайта' => $url . '/admin/?mod=statist&task=main', 'Управление пользователями' => $url . '/admin/?mod=users&task=main', 'Резервное копирование' => $url . '/admin/?mod=backup&task=main' ), 'Меню' => array ( 'Управление меню' => $url . '/admin/?mod=menu&task=main', 'Верхнее меню' => $url . '/admin/?mod=menu&task=menu_edit&menu_id=0', 'Главное меню' => $url . '/admin/?mod=menu&task=menu_edit&menu_id=1', 'Нижнее меню' => $url . '/admin/?mod=menu&task=menu_edit&menu_id=2' ), 'Контент' => array ( 'Страницы сайта' => $url . '/admin/?mod=content&task=main', 'Управление блоками' => array ( 'Левые блоки' => $url . '/admin/?mod=blocks&task=main&place=0', 'Правые блоки' => $url . '/admin/?mod=blocks&task=main&place=1' ), 'Главная страница сайта' => $url . '/admin/?mod=mainpage&task=main' ), 'Модули' => array ( 'Каталог девушек' => $url . '/admin/?mod=catalog&task=main', 'Сообщения на сайте' => $url . '/admin/?mod=messages&task=main' ), 'Установка' => array ( 'Установка шаблонов сайта' => $url . '/admin/?mod=setup&task=site_temp', 'Установка шаблонов админки' => $url . '/admin/?mod=setup&task=admin_temp', 'Установка модулей' => $url . '/admin/?mod=setup&task=modules' ), 'О системе' => $url . '/admin/?mod=system&task=about', ); Задача состоит в том, чтобы сохранить его в XML-файле, а потом прочитать из XML обратно в такой же массив (т.е. хочу проще говоря хранить структуру меню сайта в XML-формате). Плиз, кто знает, если не затруднит напиши как это сделать с применением библиотеки MiniXML. На офф. сайте был, сам пробовал - не получается
Наверное вы хотели сказать что задача состоит в том, чтобы сформировать XML документ и сохранить его? В чем проблема то? Чем не устраивает пример с офф. сайта (http://minixml.psychogenic.com/overview.html)? PHP: <?php // Use the MiniXML library require_once('minixml.inc.php'); /* In this example, these are the part numbers we are interested in. */ $partNumbers = array('DA42', 'D99983FFF', 'ss-839uent'); /* Create a new MiniXMLDoc object. This document will be your ** interface to all the XML elements. */ $xmlDoc = new MiniXMLDoc(); /* XML is created in a hierarchical manner, like a tree. To start ** creating our request, we need this tree's root. ** ** NOTICE: That weirdo '=&' is not an ordinary assignment - it's PHP's ** way of asking that $xmlRoot be a REFERENCE to the Root Element. ** If you don't use =&, you'll be working on a copy and you'll need ** to $xmlDoc->setRoot($xmlRoot) when you're done. ** */ $xmlRoot =& $xmlDoc->getRoot(); /* I've imagined a fictitious structure for this request but ** they're usually something like this... ** ** Let's start by adding a partRateRequest element (as a ** child of the root element) and then we'll create some ** children of it's own. ** ** Again, note the use of the '=&'. The alternative is to ** use '=' and the $parent->appendChild($child) but be ** careful as the append is easy to forget... */ $rateReq =& $xmlRoot->createChild('partRateRequest'); /* Now we'll create a vendor and a parts list element for the ** request and fill those up. */ $vendor =& $rateReq->createChild('vendor'); $accessid =& $vendor->createChild('accessid'); /* Set up a few attributes for this element. ** notice that accessid will have attributes but no ** content (text or whatever) or children. */ $accessid->attribute('user', 'myusername'); $accessid->attribute('password', 'mypassword'); /* Now we list the parts we are interested. This element is ** directly under the partRateRequest element. */ $partList =& $rateReq->createChild('partList'); /* Now, we add a <partnum>XXX</partnum> element for ** each part in our array. ** ** Just for fun, here I'm using the createElement/appendChild ** method, instead of $partList->createChild() */ for($i=0; $i < count($partNumbers); $i++) { /* using MiniXMLDoc's createElement to create ** an element with no parent */ $aPart = $xmlDoc->createElement('partNum'); /* Set a text value to this element */ $aPart->text($partNumbers[$i]); /* Now, don't forget to append this element to a parent ** or it will simply dissappear */ $partList->appendChild($aPart); } /* OK, we have our request in the xmlDoc. To pass it along to the ** server, we stringify it with: */ $xmlString = $xmlDoc->toString(); ?>