Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: XML (разметка на кириллице)
// или так тоже можно: print ($catalogue->{name}["tovname"]);
print($catalogue->price[internet]);
print($catalogue->text[tovtext]);
}
}
С латинской разметкой понятно, а как быть с кириллическим XML,
что бы в PHP получить нечто такого: print (${каталог}->{"наименование"}["наименование_товара"]);
Всё что советовали приходилось в один текстовый массив.
Из него данные тоже не смог выдернуть, приходил NULL.
Мне просто нужно получить данные типа:
a:=каталог_01;
b:=товар_01
c:=цена_01
...
а1:=каталог_X
b1:=товар_0X
...
и так далее, а дальше, из допустим, каталогов_X, я соберу массив. И буду оперировать данными от туда уже по назначению.
Или может я вообще не так представляю картину передачи данных из XML в PHP и далее в БД?
Третий день топчусь на месте (только из-за кириллицы). (Добавление)
Почитал : хороший, понятный мануал
Даже вопросов не возникло, вроде более-менее доступно для понимания.
Но там ни слово про то, если XML в кириллическом формате тегов.
пример из мануала "echo $movies->movie->{'great-lines'}->line;"
вот как он должен выглядеть на кириллице?
выходит, что как-то вот так? "print $фильмы->кино->..." Но ведь переменные должны иметь имя в латинице!
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Есть своего рода "трюк" для преобразования объекта в массив. Требует json-модуля, правда. И работает с utf-8 (соответственно, Вам нужно будет сконвертировать Ваш xml в utf-8).
Например:
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Мелкий
Вовсе нет. Если массив будет многомерным, то предложенный Вами (array) приведет к скалярному (то есть, по факту - строковому) виду только корневое измерение массива, тогда как остальное так и останется в виде SimpleXMLElement-объектов.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Мелкий
Отправлено: 08 Августа, 2012 - 11:16:09
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
EuGen, точно. Проглядел.
----- PostgreSQL DBA
I_CaR
Отправлено: 09 Августа, 2012 - 06:33:06
Новичок
Покинул форум
Сообщений всего: 62
Дата рег-ции: Март 2011 Откуда: Красноярск
Помог: 0 раз(а)
Всё! Задачу решил! Не только указанием кодировки XML в коде "header('...charset...)", но и + перекодировки самого PHP. (и это ещё только локально, что ещё ждёт на серваке у хостера не известно...)
Вот блин кириллица, и кто её продвигает?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.