[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Непонятно себя ведет SimpleXML
biohazard
Всем добрый день!

Перейду сразу к делу. Есть задача - дополнить xml файл данными из массива.

Имеем такой хмл:


<DATATYPES>
<DATATYPE
name="article" caption="Статья">
<FIELD
name="title" caption="Заголовок" type="string"/>
<FIELD
name="content" caption="Содержимое" type="text"/>
<FIELD
name="pubdate" caption="Дата публикации" type="datetime" format="d.m.Y"/>
</DATATYPE>
<DATATYPE
name="news" caption="Новость">
<FIELD
name="title" caption="Заголовок" type="string"/>
<FIELD
name="content" caption="Содержимое" type="text"/>
<FIELD
name="pubdate" caption="Дата публикации" type="datetime" format="d.m.Y"/>
<FIELD
name="viewcounter" caption="Количество просмотров" type="numeric"/>
<FIELD
name="image1" caption="Изображение" type="image"/>
</DATATYPE>
<DATATYPE
name="gallery" caption="Изображение">
<FIELD
name="title" caption="Заголовок" type="string"/>
<FIELD
name="descr" caption="Описание" type="text"/>
<FIELD
name="image1" caption="Изображение" type="image"/>
</DATATYPE>
</DATATYPES>



Далее, загружаем его как объект simplexml и пытаемся для начала получить какое либо значение аттрибута:


$datatypes = simplexml_load_file('data.xml', 'SimpleXMLElement', LIBXML_NOCDATA);
echo $datatypes->datatype[0]['caption'];

и ничего у нас не получается.
Хорошо, попробуем вытащить узел как хмл:

$xml = $datatypes->datatype[0]->asXML();

в ответ - ошибка:
Call to a member function asXML() on a non-object in.....

Перепробовал и так и сяк, ничего не выходит, несмотря на то, что я делаю все как в книге, и многочисленных мануалах...

Кто работал с simplexml может подскажет в чем я не прав ?




Спустя 6 часов, 8 минут, 49 секунд (11.03.2011 - 15:14) Trianon написал(а):
Код:

$datatypes = simplexml_load_file('data.xml', 'SimpleXMLElement', LIBXML_NOCDATA);
echo ($datatypes->DATATYPE[0]["caption"]);
echo "<br/><pre>" .
htmlspecialchars($datatypes->DATATYPE[0]->asXML());



Отклик:
Статья

<DATATYPE name="article" caption="&#x421;&#x442;&#x430;&#x442;&#x44C;&#x44F;">
<FIELD
name="title" caption="&#x417;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A;" type="string"/>
<FIELD
name="content" caption="&#x421;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x43C;&#x43E;&#x435;" type="text"/>
<FIELD
name="pubdate" caption="&#x414;&#x430;&#x442;&#x430; &#x43F;&#x443;&#x431;&#x43B;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;" type="datetime" format="d.m.Y"/>
</DATATYPE>

Быстрый ответ:

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