![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
Помогите разобратся с регулярными выражениями плз..
Нужен простой пример как обработать стрoку в вида <USER name="Жека" Town="Moscow" /> Что бы в скрипте было так: user['name'] Содержало слово Жека Это сообщение отредактировал(а) Sardar - 2.3.2007, 01:21 --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Пока ты не наделал глупостей, это строка из XML документа, что ты через XMLHttpRequest получаешь? Слышал о DOM?
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
Знаешь как говарится лучше спросить у ГУРУ нежели самому втыкать сутки что бы разобратся )
Хотелось бы получить пример ПО: XMLHTTPRequest.responseXML - если ответ сервера пришел в виде правильного XML, возвращает XML DOM объект. Методы и функции обьекта DOM Обьекта. Добавлено @ 03:01 Точней получить груду отгенериного текста с БД не php И всё это передать по запрос Но как обработать в виде name[value] [] --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
На выходе 1 ----------- Но мне надо обработать сраку в виде <USER name="Жека" Town="Moscow" /> Тойсть что бы данные получались по имени тега USER так что бы oItem1[имя тега]["name"] содержало значения ЖЕКА Если есть другие способы реализации помогите ПЛЗ Это сообщение отредактировал(а) Sardar - 2.3.2007, 22:53 --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
На выходе ТЕСТ Но как видно я так и не додумался как обработать <USER name="Жека" Town="Moscow" /> --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
на выходе почему-то только TEST --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 8 Всего: 71 |
Я - бы в данном случае обрабатывал JSON:
строка вида {name:"Жека", Town:"Moscow"} парсится так:
|
|||
|
||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
А где джонсона взять то ?
--------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 8 Всего: 71 |
Хрипа, тебе сложно на сервере вместо XML - JSON строку сгенерить? На клиенте JSON легко парсится подручными средствами javascript (как я уже показал).
Если этого не достаточно, ссылка: http://json.org |
|||
|
||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
Понел но как мне посдавить ?
Ситуция в том что комне приходит груда текста который я не знаю и мне надо автоматом его разобрать var text = '{name:"Жека", Town:"Moscow"}'; Для меня это уже не приемлемо мне проше использывать split var resp =req.responseText.split("|"); Где Php выводит данные "$user|$town" resp[0] = Жека resp[1] = Moskow response.innerHTML=resp[2]; --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
можно конечно раскопирывать и получется грамадный код
а мне надо что бы всё одной функцией было что бы Код был минимум строк и максимум работоспасобен Через сплит не всегда удобно иногда мне надо name=val И тогда получается resp[0] = name pesp[1] = val --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Отвыкайте от JSON! Это не безопасно, ведь на eval фактически любой код можно пустить, оно вам надо?
![]()
Элементарно: var users = req.responseXML.getElementsByTagName('USER'); В users имеем список всех <USER>. Далее по задаче:
Как видно в XML вкупе с простым DOM + мощным XPath можно найти что угодно. Это безопасно и именно такой подход можно назвать AJAX'ом. Хрипа, может выложишь задачу целиком, мы тебе наиболее здравое решение подскажем. А то боюсь давать советы, ибо чую вкривь ты проблему решаешь ![]() -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
Хрипа |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
Документ с которого тяним инфу и передоём
Добавлено @ 07:42 Отвыкайте от JSON! Это не безопасно, ведь на eval фактически любой код можно пустить, оно вам надо? Угу Чюжие либы юзать не стоит я сам вот не юзаю чужие либы... хочу разобратся как работает и свою написать )) Это сообщение отредактировал(а) Хрипа - 3.3.2007, 07:39 --------------------
<Вырезана, как не соответствующая правилам форума > |
||||
|
|||||
Sardar |
|
||||||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Представим что на сервере формируем ответ типа:
Фактически это список пар (ключь=>значение), чего во многих задачах достаточно. Для расширяемости добавил аттрибут type, которым явно указываем чем является содержимое, отсюда подбираем соответствующую extract* функцию. Аттрибут action задаёт действие для списка параметров, просто не хотел ложить в список нод. Заметь что кодировка в UTF-8, не стоит менять на что то другое. На клиенте собираем ответ:
На сервере формируем валидный XML:
Вся шутка в том, что можешь формировать любой ответ, передавать любую инфу. Всё это расширяемо и удобно. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
||||||
|
|||||||
Хрипа |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 227 Регистрация: 11.12.2006 Репутация: нет Всего: нет |
Спасибо помогло очень!
Кстати а что быстрей работает если я отсылаю строку: Названия/Параметры Или XML ? Добавлено @ 13:22 Мне надо максимально быстрая работа что бы не создовалось лишней нагрузки на сервак.. --------------------
<Вырезана, как не соответствующая правилам форума > |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |