![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Loengreen |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.7.2007 Репутация: нет Всего: нет |
Всем любителям лисы посвящается.
Где-то в XML-е есть тег <select>123|234|345|456| ... |n</select>. После получения XML это безобразие копируется в строку, разбивается split-ом и записывается атрибутом в некий тег. Проблема: select.firstChild.data.toString() вытаскивает из тега всего 4096 символов (IE вытаскивает ровно столько, сколько там было). Подскажите пожалуйста, почему вроде бы дружелюбная лиса в этом случае поступает так жестко?! Может быть проблема в функции toString()? |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Я никогда не использовал toString(), но IE и FF в таких случаях имеют разные firstChild. И возможно, для FF будет верным запись select.firstChild.firstChild.data.toString(). Не смеяться!
ЗЫ. попробуйте так прочитать, может остатки строки вернутся... Добавлено через 12 минут и 32 секунды Или так firstChild.nextSibling Это сообщение отредактировал(а) Ghirik - 25.12.2007, 08:41 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
Вроде я и не глупость сказал
Это сообщение отредактировал(а) Ghirik - 25.12.2007, 09:18 -------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| AKS |
|
|||
|
Участник форума ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 20.9.2006 Репутация: 27 Всего: 52 |
||||
|
||||
| Loengreen |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.7.2007 Репутация: нет Всего: нет |
Ghirik!
Ааааааааааааааа!!! Сейчас буду пробовать. Если получится... То Вы меня просто спасли (избавили от преждевременного геморроя)!!! До этого пробовал .firstChild.data.toString() , .firstChild.nodeValue... даже выводил XML на страницу, а потом пытался его юзать - результат один - 4096. Сейчас попробую Ваш вариант. О результате сообщу! Добавлено через 10 минут и 45 секунд Так... Пока не получилось. :( Поехал учиться. Вечером добью проблему. Бегло взглянул на статью по ссылке. Не является ли решением этой проблему установка патча на браузер. Или мой плохой английский ввел меня в заблуждение? |
|||
|
||||
| Ghirik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 919 Регистрация: 26.3.2007 Репутация: 13 Всего: 20 |
AKS, дело говорит....
-------------------- Отдадим всё клиенту, пускай его машина мучается... |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 49 Всего: 401 |
А нельзя уйти от безобразия к чему-нибудь более органичному для XML, чтоб split-ы многокилобайтных строк и прочие насильственные действия и не требовались? -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| Loengreen |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 13.7.2007 Репутация: нет Всего: нет |
Так! Все получилось. Сутра спешил и по запарке очепятался.
<select> ... </select> обращается к тегу select и перебираем детишек. У меня получилось так:
Ghirik! Спасибо Вам огромное! SelenIT, судите сами. У меня, например, около 640 ГОСТовских обозначения (длина каждого не превышает 10 символов). Длина строки более 6000 символов. Если я каждое обозначение поставлю в свой тег, вместо одного символа | мне придется написать <o> ... </o>, а это + еще 6 символов. В сумме это лишние 3840 символов. Не помню сколько весит русский символ в UTF, но кб 3-6 наверное точно выйдут. |
|||
|
||||
| coyl |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 13.6.2006 Репутация: нет Всего: 1 |
Тут, наверное, человек заботится о трафике и скорости разбора.
Однородные и маленькие данные (относительно служебной информации - тегов), заключаются в один тег через разделитель. =) Нужно попробовать - что будет работать быстрее - простой сплит или получение всех детей и выуживание их внутренностей (если использовать внутренние теги). Мне почему-то кажется, что split будет работать гораздо быстрее. Это как раз тот случай, когда надо немного отойти от стандарта, ради качества. ИМХО. Добавлено через 2 минуты и 39 секунд одновременно написали =) |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |