[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как записывать атрибуты в XML
grigor
Файл XML:

<?xml version="1.0" encoding="UTF-8"?>
<books>
<book id="001">
<name> </name >
<content> </content >
</book >
</books >


Файл PHP, получает данные из формы и добавляет их в XML:

$dom=new DomDocument();
$dom->load(xml.xml);
$book =$dom->createElement("book ");

$ name = $dom->createElement("name", iconv('windows-1251', 'utf-8', trim($_POST ["name"])));
$ content = $dom->createElement("content", iconv('windows-1251', 'utf-8', $_POST ["content"]));

$ book ->appendChild ($name);
$ book ->appendChild ($content);

$dom->getElementsByTagName("books")->item(0)->appendChild ($book);
$dom->save(xml.xml);
echo ("Запись добавлена");


Как добавить атрибут <id>.




Спустя 1 день, 5 часов, 9 минут, 19 секунд (7.03.2009 - 16:39) bret написал(а):
DomDocument->create_attribute не подходит7

Спустя 56 минут, 32 секунды (7.03.2009 - 17:36) grigor написал(а):
Посмотрел мануал и родил следующее.
Добавил в код две строки:

$id=$dom->createAttribute("id",$_POST["id"]);

$book ->appendChild ($id);


Получил две ошибки.

Warning: DOMDocument::createAttribute() expects exactly 1 parameter, 2 given in

Warning: DOMNode::appendChild() expects parameter 1 to be DOMNode, null given in

Спустя 5 минут, 41 секунда (7.03.2009 - 17:41) Viking написал(а):
а что за мануал такой? http://ru2.php.net/manual/ru/domdocument.createattribute.php тут вроде сказано с одним аргументом, а значение отдельно добавлять
второе сообщение - следствие первой

Спустя 28 минут, 27 секунд (7.03.2009 - 18:10) bret написал(а):
Цитата
$id=$dom->createAttribute("id",$_POST["id"]);

ср.
Цитата
DomDocument->create_attribute не подходит7


Спустя 1 час, 54 минуты, 6 секунд (7.03.2009 - 20:04) grigor написал(а):
Спасибо, что ткнули носом. Откуда взял второй параметр? Видно зачитался. Поторопился.

createAttribute() - работает.

create_attribute() - не работает (ошибка). Наверно версия PHP не та.

Спасибо всем.

Спустя 1 день, 17 часов, 3 минуты, 34 секунды (9.03.2009 - 13:07) grigor написал(а):
А почему такой код не работает на сервере, где PHP5 установлен, как модуль CGI

Спустя 4 минуты, 49 секунд (9.03.2009 - 13:12) Sylex написал(а):
Цитата (grigor @ 9.03.2009 - 16:07)
А почему такой код не работает на сервере, где PHP5 установлен, как модуль CGI

что значит не работает?
какие ошибки выдает?

Спустя 9 минут, 8 секунд (9.03.2009 - 13:21) Viking написал(а):
видимо пхп собран без домовского модуля

Спустя 21 час, 56 минут, 42 секунды (10.03.2009 - 11:18) grigor написал(а):
Не отвечал, ждал ответа от техподдержки. И дождался:

Рад бы вам помочь, но мы не занимаемся обучением, редактированием стороннего кода. Мы можете протестировать ваш код на нашем сервере, а так же на любом другом. Есть так же, логи ошибок. Их можно найти в Plesk > Менеджер журналов.
Вы можете задавать подобные вопросы на форумах программистов и различных сообществах.


Вот такой ответ.
Думаю было бы короче ответить, что модуль DOM отсутствует в ихой сборке.

Спустя 1 день, 8 часов, 41 минута, 46 секунд (11.03.2009 - 20:00) bret написал(а):
Разве этой инфы нет в phpinfo() 7

Спустя 9 месяцев, 6 дней, 4 часа, 7 минут, 4 секунды (18.12.2009 - 00:07) Sphinx написал(а):
А разве DomDocument() не вшит в движок php?

Спустя 17 минут (18.12.2009 - 00:24) VolCh написал(а):
В 4-й нет, отдельное расширение (причем не совместимое с 5-м)
Быстрый ответ:

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