[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP+XML
SuicideMouse
Нужно реализовать добавление данных в XML через HTML форму.
Структура XML:


<lab>
<sotrudnik>
<ID>
1</ID>
<FIO>
Комаров Семен Кондратьевич</FIO>
<OLD>
50</OLD>
<image
src="im/images.jpg"/>
<Comment>
Быдло</Comment>
</sotrudnik>
</lab>



Пытаюсь реализовать все через Simple XML


<?
if(!empty($_POST['button1'])){
if(!empty($_POST['NewFIO']) and !empty($_POST['NewID']) and !empty($_POST['NewOLD']) and !empty($_POST['load']) and !empty($_POST['NewComment'])){
$xml = simplexml_load_file('employs.xml');

$sotrudnik = $xml->addChild('sotrudnik');
$sotrudnik->addChild('ID', $_POST['NewID']);
$sotrudnik->addChild('FIO', $_POST['NewFIO']);
$sotrudnik->addChild('OLD', $_POST['NewOLD']);
$sotrudnik->addChild('image', $_POST['load']);
$sotrudnik->addChild('Comment', $_POST['NewComment']);

$xml->asXML('employs.xml');
echo 'Запись добавлена.';
}
else {echo 'Ошибка!';};

echo 'Кнопка пройдена!';
}



?>

Все данные добавляются, но не отображается картинка
т.к создается тэг <image>images6.jpg</image> где images6.jpg это переданная картинка, но для ее правильного вывода и отображения тэг должен выглядеть так <image src="im/images6.jpg"/>
Подскажите пожалуйста как этого можно добиться?




Спустя 9 часов, 34 минуты, 46 секунд (10.03.2011 - 12:02) SuicideMouse написал(а):
Что никто не знает?

Спустя 1 минута, 18 секунд (10.03.2011 - 12:03) oleg634 написал(а):
Нет тут нет кому ответить Мне уже дня 4 на один вопрос отвечают))

Спустя 2 минуты, 20 секунд (10.03.2011 - 12:05) oleg634 написал(а):
заделай обработчик чтоб он после отправления формы менял теги

Спустя 1 минута, 45 секунд (10.03.2011 - 12:07) oleg634 написал(а):

Спустя 15 минут, 44 секунды (10.03.2011 - 12:23) SuicideMouse написал(а):
Цитата (oleg634 @ 10.03.2011 - 09:07)
http://softsearch.ru/programs/204-580-xml-spy-download.shtml

Зачем мне редактор)
Да тут просто по идее надо писать свой парсер, но я думал что есть другой путь.

Спустя 23 минуты, 41 секунда (10.03.2011 - 12:47) sharki написал(а):
Вообще <image src="im/images.jpg"/> это элемент и не более, src="im/images.jpg" это его атрибут, следовательно при парсинге нужно выбирать атрибут... следовательно чтобы спарсить этот атрибут и вывести, нужно сделать так:


<image src="<?=$xml->sotrudnik[0]->image['src'];?>"/>


В любом случае нужно парсить XML легче уже сделать элемент полным т.е
<image>im/images.jpg</image>

Спустя 1 минута, 49 секунд (10.03.2011 - 12:48) Renden написал(а):
SuicideMouse
addAttribute используй заместо addChild

Спустя 1 минута, 5 секунд (10.03.2011 - 12:50) sharki написал(а):
чет я не так понял вопрос, ну ладно)

Спустя 4 часа, 56 минут (10.03.2011 - 17:46) SuicideMouse написал(а):
Спасибо всем за участие
Renden в принципе был прав.
Пришлось конечно еще кое что доработать.
В общем на всякий случай напишу конечный вариант.
$xml = simplexml_load_file('employs.xml');
$string=$_POST['load'];
$string='im/'."$string";
$sotrudnik = $xml->addChild('sotrudnik');
$sotrudnik->addChild('ID', $_POST['NewID']);
$sotrudnik->addChild('FIO', $_POST['NewFIO']);
$sotrudnik->addChild('OLD', $_POST['NewOLD']);
$HG=$sotrudnik->addChild("image");
$HG->addAttribute("src", "$string");
$sotrudnik->addChild('Comment', $_POST['NewComment']);
Быстрый ответ:

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