| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Выпадающее меню с использованием XML |
| Автор: SneG0K 5.8.2009, 13:56 | ||||
Есть такой XML:
Есть функция преобразующая этот XML в это массив:
На сколько правильно составлен XML файл? Я просто первый раз пользуюсь XML Добавлено через 3 минуты И еще вопросик, чем парсить XML? Просто меня интересует то, что есть на всех хостингах, чтоб не пришлось потом заказчику объяснять, что да как. |
| Автор: icewind 5.8.2009, 14:02 | ||||
| Нормально составлен. Единственное что, это неплохо было бы закрыть одиночные тэги
Я обычно пользуюсь SimpleXML или DOM(реже) |
| Автор: SneG0K 5.8.2009, 14:11 |
А наличие их на хостингах? |
| Автор: icewind 5.8.2009, 14:16 |
| За наличие на абсолютно всех хостингах думаю никто не поручится, но встречаются достаточно часто... В конце концов есть и некрохосты с 4пхп, но на них я не ориентируюсь. Про отсутствие парсера и выход из ситуации есть http://habrahabr.ru/blogs/php/30353/ |
| Автор: lukas 5.8.2009, 15:39 |
| SneG0K SimpleXML встречается практически на всех хостингах где стоит php 5, это вообще расширение поставляется вместе с php начиная с 5ой версии. |
| Автор: SneG0K 5.8.2009, 21:20 | ||||
Вот на это ругается simpleXML
Что делать? |
| Автор: icewind 6.8.2009, 00:55 |
| А файл с xml действительно в utf8? Если в файле указана кодировка utf-8, то и сами данные должны быть в этой кодировке. Я у себя на локальном сервере проверил и все отпарсилось без проблем. |
| Автор: SneG0K 6.8.2009, 09:05 | ||||||
Да, сохранил сам файл в utf-8 вроде заработало, но
Добавлено через 8 минут и 46 секунд И еще, как получить доступ к атрибуту?
|
| Автор: icewind 6.8.2009, 11:18 | ||||
Вывод данных тоже должен быть в urf8. И, желательно, сам скрипт. Можно послать заголовок перед выводом
|
| Автор: SneG0K 6.8.2009, 13:49 | ||
Получается такой массив. Но как именно получить доступ к содержимому атрибута, а не к объекту? |
| Автор: icewind 6.8.2009, 14:22 | ||
Пара примеров по получению атрибутов. ( в файле test.xml лежит исходный xml документ )
Для того чтоб получить не экземпляр класса SimpleXMLObject, а значение, нужно привести его к строке выполнив конкатенацию или указав тип явно. |
| Автор: SneG0K 6.8.2009, 23:04 |
| А можно ли как-нить использовать кодировку windows-1251 и русские символы в XML файле? А то у меня такая путаница с кодировками теперь. |
| Автор: icewind 6.8.2009, 23:59 | ||
Сохранить xml можно в windows-1251 и указать кодировку
но после парсинга SimpleXML все равно вернет данные в кодировке utf-8 |
| Автор: SneG0K 7.8.2009, 00:51 |
| Тоесть мне в любом случае нужно будет отослать хидер с кодировкой utf-8? |
| Автор: icewind 7.8.2009, 10:51 | ||
Ну тут либо отдавать реальный утф вместе с хидером, либо уже все делать в windows-1251
|
| Автор: SneG0K 7.8.2009, 10:55 |
| icewind, да нет, это довольно муторный вариант, лучше уж буду тогда разруливать все в utf-8 |
| Автор: bars80080 7.8.2009, 13:40 |
| а как по массиву видно какие имена тэгов? |