Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Парсет XML для PHP

Ответить
Настройки темы
Парсет XML для PHP

Новый участник


Сообщения: 48
Благодарности: 0

Профиль | Отправить PM | Цитировать


не люблю я xml всеми фибрами души, но нужно принимать экспортируемый xml файл в PHP.
Нашёл в PHP функцию xmlfree($XML_STR) – это то что мне нужно, создаёт ассоциативным массив с элементами. Но php ругается что нет такой функции, и в мануале по PHP даже описания её нету. Может существует аналог?

Отправлено: 13:25, 13-01-2006

 

Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


Irlon
PHP код: Выделить весь код

$simple "<para><note>simple note</note></para>";

$p xml_parser_create();
xml_parse_into_struct($p$simple$vals$index);
xml_parser_free($p);
echo 
"Index array\n";
print_r($index);
echo 
"\nVals array\n";
print_r($vals); 

выдает:

Цитата:

Index array
Array
(
[PARA] => Array
(
[0] => 0
[1] => 2
)

[NOTE] => Array
(
[0] => 1
)

)

Vals array
Array
(
[0] => Array
(
[tag] => PARA
[type] => open
[level] => 1
)

[1] => Array
(
[tag] => NOTE
[type] => complete
[level] => 2
[value] => simple note
)

[2] => Array
(
[tag] => PARA
[type] => close
[level] => 1
)

)
а вообще зря вы не любите XML это очень хороший формат данных если им уметь правильно пользоваться!

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 13:31, 13-01-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 48
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо! оперативно. Всё работает

Отправлено: 13:40, 13-01-2006 | #3


Аватара для Plutonium 239

Radio-active


Сообщения: 1406
Благодарности: 44

Профиль | Отправить PM | Цитировать


Мне вот тут надо из xml файла погоду выбить,
HTML код: Выделить весь код
<MMWEATHER> <REPORT type="frc3"> <TOWN longitude="83" latitude="55" sname="%CD%EE%E2%EE%F1%E8%E1%E8%F0%F1%EA" index="29634"> <FORECAST weekday="4" predict="18" tod="3" hour="18" year="2006" month="5" day="31"> <PHENOMENA spower="0" rpower="0" precipitation="10" cloudiness="0" /> <PRESSURE min="747" max="749" /> <TEMPERATURE min="18" max="20" /> <WIND direction="2" max="5" min="2" /> <RELWET min="18" max="23" /> <HEAT max="20" min="18" /> </FORECAST> <FORECAST weekday="5" predict="24" tod="0" hour="0" year="2006" month="6" day="1"> <PHENOMENA spower="0" rpower="0" precipitation="10" cloudiness="1" /> <PRESSURE min="746" max="748" /> <TEMPERATURE min="9" max="11" /> <WIND direction="3" max="5" min="2" /> <RELWET min="36" max="41" /> <HEAT max="11" min="9" /> </FORECAST> <FORECAST weekday="5" predict="30" tod="1" hour="6" year="2006" month="6" day="1"> <PHENOMENA spower="0" rpower="0" precipitation="10" cloudiness="1" /> <PRESSURE min="746" max="748" /> <TEMPERATURE min="10" max="12" /> <WIND direction="2" max="3" min="1" /> <RELWET min="38" max="43" /> <HEAT max="12" min="10" /> </FORECAST> <FORECAST weekday="5" predict="36" tod="2" hour="12" year="2006" month="6" day="1"> <PHENOMENA spower="0" rpower="0" precipitation="10" cloudiness="0" /> <PRESSURE min="746" max="748" /> <TEMPERATURE min="22" max="24" /> <WIND direction="3" max="5" min="2" /> <RELWET min="14" max="19" /> <HEAT max="25" min="23" /> </FORECAST> </TOWN> </REPORT> </MMWEATHER>

Цитата:
Описание формата
TOWN информация о пункте прогнозирования:
index уникальный пятизначный код города
sname закодированное название города
latitude широта в целых градусах
longitude долгота в целых градусах
FORECAST информация о сроке прогнозирования:
day, month, year дата, на которую составлен прогноз в данном блоке
hour местное время, на которое составлен прогноз
tod время суток, для которого составлен прогноз: 0 - ночь 1 - утро, 2 - день, 3 - вечер
weekday день недели, 1 - воскресенье, 2 - понедельник, и т.д.
predict заблаговременность прогноза в часах
PHENOMENA атмосферные явления:
cloudiness облачность по градациям: 0 - ясно, 1- малооблачно, 2 - облачно, 3 - пасмурно
precipitation тип осадков: 4 - дождь, 5 - ливень, 6,7 – снег, 8 - гроза, 9 - нет данных, 10 - без осадков
rpower интенсивность осадков, если они есть. 0 - возможен дождь/снег, 1 - дождь/снег
spower вероятность грозы, если прогнозируется: 0 - возможна гроза, 1 - гроза
PRESSURE атмосферное давление, в мм.рт.ст.
TEMPERATURE температура воздуха, в градусах Цельсия
WIND приземный ветер
min, max минимальное и максимальное значения средней скорости ветра, без порывов
direction направление ветра в румбах, 0 - северный, 1 - северо-восточный, и т.д.
RELWET относительная влажность воздуха, в %
HEAT комфорт - температура воздуха по ощущению одетого по сезону человека, выходящего на улицу
Вот таким макаром я его открываю
PHP код: Выделить весь код

$f fopen('pogoda.xml''r');

$simple fread($f10000);
$p xml_parser_create();
xml_parse_into_struct($p$simple$vals$index);
xml_parser_free($p); 

а вот как из этих массивов вытащить информацию ума не приложу

Отправлено: 16:07, 31-05-2006 | #4


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


Plutonium 239

читал: http://forum.oszone.net/thread-54773.html ???
не подходит???

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 16:27, 31-05-2006 | #5


Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Irlon,
Цитата:
не люблю я xml всеми фибрами души
И верно ведь говорит Vlad Drakula зря не любите. Я только им и пользуюсь. Иногда небьльшие по обьему промежуточные данные скидываю в этот формат. И потом очень легко они оттуда и берутся.
Vlad Drakula,
Цитата:
читал: http://forum.oszone.net/thread-54773.html ???
не подходит???
Можно и просто парсером выдрать.

Отправлено: 17:27, 31-05-2006 | #6


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


benya
Цитата:
Можно и просто парсером выдрать.
можно... но вы веть прекрасно знаете что на много проще натравить на это дело XSL... и получить к примеру готовый HTML...
а главное 100% развезка PHP кода и представления... если нужно изменить внешний вид меняем XSL шаблон... если изменился входной формат XML просто меняем XSL шаблон...

Irlon
Цитата:
не люблю я xml всеми фибрами души
и зря!!! мой бывший коллега тоже не очень то любил... XSL... в итоге писал много всякой пакши на JS... а мне потом все это пришлось расхлебывать....

-------
можно практически все, но просто мы это еще не знаем.
главный враг програмиста это копипастинг
За хорошее сообщение не забываем нажимать ссылочку "Полезное сообщение"!


Отправлено: 17:44, 31-05-2006 | #7


Аватара для Plutonium 239

Radio-active


Сообщения: 1406
Благодарности: 44

Профиль | Отправить PM | Цитировать


Vlad Drakula
а можно просто и понятно объяснить на моем примере? а то это все слишком сложно для меня...

Отправлено: 18:51, 31-05-2006 | #8


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Plutonium 239, в мануале второй пример, имхо, как раз по твоей задачке. Погляди сам. Там идет "ручной" обход ввиду того, что xml_parse_into_struct возвращает данные не в DOM представлении, а как бы ссылочно.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 19:24, 31-05-2006 | #9


Аватара для benya

Старожил


Сообщения: 302
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Vlad Drakula,
Цитата:
можно... но вы веть прекрасно знаете что на много проще натравить на это дело XSL... и получить к примеру готовый HTML...
а главное 100% развезка PHP кода и представления... если нужно изменить внешний вид меняем XSL шаблон... если изменился входной формат XML просто меняем XSL шаблон...
Смотря для какого случая легче. Для сайта который и написан, и оптимизирован под XML + XSLT действительно легче, ну и удобнее наверное. Добавить там самый минимум.
А так придется еще и движок для XSLT преобразования куда-то лепить со всеми вытекающими отсюда последствиями...

Отправлено: 20:26, 31-05-2006 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Парсет XML для PHP

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PHP и XML | Обработка неалфавитных символов Coutty Вебмастеру 6 17-12-2008 10:42
[решено] проверка XML-файла на соответствие XML schema в IE 6 и Firefox 2 dimait Вебмастеру 4 23-08-2007 02:02
XML + XSL + PHP => HTML, Как передать бинарный код рисунка ? Lexxx_HU Вебмастеру 5 02-03-2007 17:55
как на php конвертировать XML в PDF, RTF Vlad Drakula Вебмастеру 5 07-12-2006 17:21
VBS/WSH/JS - Редактор для JS и XML Vlad Drakula Программирование и базы данных 14 01-11-2006 14:33




 
Переход