alekciy
Новичок
DOM XML. Не получается задать значение пары атрибут/значение.
Вроде все верно, но код не работает. Происходит запись лишь 2 атрибутов (id и city)и все. Третий атрибут в XML файл не записывается, более того, существуеющий файл стараеться полностью и заменяется файлом в котором абсолютно ни чего нет! (0 кб). Вот кусок кода относящегося к сабжу:
Я было подумал, что может можно только два атрибута записать. Но нет, даже если первый атрибут убрать, третий атрибут ('city') все равно на записывает. Файл по прежнему очищается. Потом подумалось, что может переменная $city не string типа, или определена где либо в другом месте программы. Перед вызовом $company -> set_attribute('city', $city); проверил тип переменной (gettype) и её значение. Все верно, переменная строкого типа и равна 'самара'. Уже не знаю, что подумать и где копать. Неужели глюк веб-сервера (или может какая настройка?) или PHP?
Версия PHP 4.3.2 версия веб сервера Apache 2.0.52.
Вроде все верно, но код не работает. Происходит запись лишь 2 атрибутов (id и city)и все. Третий атрибут в XML файл не записывается, более того, существуеющий файл стараеться полностью и заменяется файлом в котором абсолютно ни чего нет! (0 кб). Вот кусок кода относящегося к сабжу:
Код:
$last = "7";
$current_date = "22.22.22";
$city = "cамара";
$current_dir = getcwd();
$path = "$current_dir/bd/bd.xml";
if (!$doc = domxml_open_file($path)) {
echo "Запись в базу данных невозможен";
exit;
};
$root = $doc -> document_element();
$company = $doc -> create_element('Company');
$company -> set_attribute('id', $last);
$company -> set_attribute('date', $current_date);
$company -> set_attribute('city', $city);
$newnode = $root -> append_child ($company);
$doc -> dump_file ($path, false, true);
Версия PHP 4.3.2 версия веб сервера Apache 2.0.52.