![]() |
|
Модераторы: diadiavova |
![]()
|
|
| Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
Доброго времени суток.
Есть веб-страница на сервере. И есть много .xml файлов. Пользователь на странице выбирает нужный файл, и его содержимое (обработанное) должно отобразиться на странице. Подскажите, какими средствами можно парсить xml через JavaScript. Есть какие-то библиотеки? Так же, как открыть этот файл? т.е. как загрузить xml структуру из xml файла? |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
В смысле xml надо обрабатывать в браузере?
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
Ну обрабатывать, т.е. допустим заполнить табличку определенную, вытащив нужное содержимое тегов XML
|
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 8 Всего: 538 |
А может лучше применить XSLT сразу по XML сгенерировать HTML?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Innuendo108 |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
А вот я на w3school вот такое нашел.
Вот такой пример: имеем файл note.xml
и такой html файлик: (xml.html)
Вот мне нравится такой метод.. я через DOM в javascript вытягиваю все значения и атрибуты тегов... Но рационален ли такой метод? Просто вот я когда запускаю этот xml.html, то он прально всё отображает, но вот курсор мыши долго находится в состоянии "песочные часы"... Это так тормозит DOM или что-то у меня не так в системе? P.S. Это глюк на форуме, или что-то я не так делаю - какой бы я code= не указывал (html или javascript) - он делает без подсветки, как code=xml - такое же делает. Это сообщение отредактировал(а) Innuendo108 - 29.1.2010, 15:57 |
||||
|
|||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Методов несколько. Но вот то, что следует при этом понимать. Работа с xml в разных браузерах может сильно отличаться, в то же время вся прелесть этого формата в его универсальности и стандартности. Если тебе надо грузить документ, в котором содержатся данные, лежащие на сервере вхмл-документах, то оптимальным способом реализации этой задачи будет всё же тот, который предложил LSD, то есть преобразование документа при помощи XSLT. Здесь всё будет работать независимо от платформы, браузера и даже настроек безопасности. Но если тебе надо формировать контент динамически, то есть в уже загруженную страницу подгружать данные из хмл-документов сервера и вставлять их в документ, не обновляя страницу, то тут без DOM и javascript не обойтись. Но последний вариант имхо - геморный, особенно в случае кроссбраузерной вёрстки.Не думаю, что дом на столько тормозит, тем более в случае такого маленького документа, но это может быть например ожидание ответа сервера. Добавлено через 3 минуты и 11 секунд
У тебя видимо опера. В десятой опере наша подсветка не пашет. У меня всё отображается правильно. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
diadiavova, Я уже начал читать про XPath и XSLT на w3school. Пока всё предельно ясно. Но я так понимаю это будет не динамически.
Просто вот как будет - пользователь выбирает из списка значение, и в связи с выбранным значением должен отобразится (на этой же странице) нужный xml документ. Я так понимаю я могу делать это через iframe, но это как-то несолидно щас... Или использовать AJAX... но тогда придётся обращаться к DOM, а я тут нашел документец-слайдшоу с какой-то презентации Sun... где написано, что каждое обращение к DOM - драгоценное время и не малое. А какой самый быстрый способ? php - парсер? Посоветуйте плз. P.S. нет. у меня Хромиум... Вот, что странно. Я же даже выбрал хтмл-овский код, и подписал он ['code=html'], а после утверждения поста, в моём сообщении ['code=xml'] и нет подсветки. P.P.S. Да, это браузер - открыл из Мозиллы - есть подсветка. Из Google Chrome (не Chromium) тоже есть |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Тут для ИЕ изучай работу с библиотекой msxml на мсдн есть вся документация, по другим браузерам не скажу тут лучше вопрос в соответствующем разделе задать(javascript). Если используешь какие-либо javascript-фреймворки, то наверняка можно найти какой-нибудь кроссбраузерный плагин для работы с хмл, но это всё в тех же разделах тебе лучше подскажут. Кстати: если работаешь с msxml, то для загрузки документа там есть свои методы, так что можно и без аякса обойтись. А на счёт пхп я вообще ничего не знаю -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
Ясненько... Спасибо.
Ну для не ИЕ браузеров , w3school "мамой клянется", что этот xhttp=new XMLHttpRequest() - поддерживается "во всех современных браузерах" Это сообщение отредактировал(а) Innuendo108 - 1.2.2010, 09:39 |
|||
|
||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Да я не об этом. Этот объект служит для подгрузки ресурсов с сервера во время работы страницы, а ещё есть объекты для работы с XML DOM.
http://msdn.microsoft.com/en-us/library/ms...28VS.85%29.aspx В принципе существует даже возможность программного xslt-преобразования прямо из скрипта страницы, но это всё в документации есть(опять-таки на счёт других браузеров не скажу). -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| Innuendo108 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 3.4.2008 Репутация: нет Всего: 2 |
Ок. спасибо
|
|||
|
||||
![]()
|
| Правила форума "XML/XSLT" | |
|
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | XML, XSL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |