Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.06.2009, 17:07
jurik_5 вне форума Посмотреть профиль Отправить личное сообщение для jurik_5 Найти все сообщения от jurik_5
  № 1  
Ответить с цитированием
jurik_5

Регистрация: Feb 2009
Сообщений: 38
По умолчанию Чтение кривого XML файла

Сталкнулся с такой проблемой.
Есть некий XML файл, сотварённый сторонней программой.
Видимо где-то, почену-то файл создался некорректно, тоесть... например должно быть:
Код:
.....
<DATA NAME="Data name1" ID="1" />
<DATA NAME="Data name2" ID="2" />
<DATA NAME="Data name3" ID="3" />
.....
а в данном XML:
Код:
.....
<DATA NAME="Data name1" ID="1" />
<DATA NA
ME="Data name2" ID="2" />
<DATA NAME="Data name3" ID="3" 
/>
.....
Из-за этого при чтении AS натыкается на разорванный тэг(перенесённый на другую строку) и заканчивает шерстить XML.
Можно ли обойти такие места. Или проблема решается только перелопачиванием XML?

Старый 02.06.2009, 19:10
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 2  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
ignoreWhite = true?

Старый 03.06.2009, 00:43
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 3  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
лучше конечно исправить "битые xml" в источнике. Но если знать точные правила по которым случаются "проколы", можно попытаться написать "чинилки" с помощью регулярных выражений.

Старый 03.06.2009, 09:43
jurik_5 вне форума Посмотреть профиль Отправить личное сообщение для jurik_5 Найти все сообщения от jurik_5
  № 4  
Ответить с цитированием
jurik_5

Регистрация: Feb 2009
Сообщений: 38
Цитата:
Сообщение от scarbo Посмотреть сообщение
ignoreWhite = true?
пробовал, не помогло.

Может быть можно пропустить XML файл через .split .join, а потом результат присвоить переменной которую читать как XML?


Последний раз редактировалось jurik_5; 03.06.2009 в 09:59.
Старый 03.06.2009, 12:01
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от jurik_5 Посмотреть сообщение
пробовал, не помогло.
А должно было помочь. Выложите архивом кусочек кривого XML.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 03.06.2009, 12:20
jurik_5 вне форума Посмотреть профиль Отправить личное сообщение для jurik_5 Найти все сообщения от jurik_5
  № 6  
Ответить с цитированием
jurik_5

Регистрация: Feb 2009
Сообщений: 38
вот тот самый XML
Вложения
Тип файла: rar data.rar (185.2 Кб, 54 просмотров)

Старый 03.06.2009, 13:41
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 7  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
В результате анализа предоставленного XML обнаружил следующие ляпы:

В значениях аттрибутов присутствуют строки с невалидными UTF8 символами.

Код:
00000000h: 3C 52 4F 57 20 42 6F 64 79 3D 22 D0 BF D0 BE 20 ; <ROW Body="РїРѕ 
00000010h: D1 0D 0A 20 80 D0 B0 D0 B1 D0 BE D1 87 D0 B8 D0 ; С.. ЂР°Р±РѕС‡РёР
00000020h: BC 20 D0 B4 D0 BD D1 8F D0 BC 20 22 2F 3E       ; ј РґРЅСЏРј "/>
Отмеченная последовательность разбивает символ UTF8 "р" кириллическое, код D180h.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 03.06.2009, 17:21
jurik_5 вне форума Посмотреть профиль Отправить личное сообщение для jurik_5 Найти все сообщения от jurik_5
  № 8  
Ответить с цитированием
jurik_5

Регистрация: Feb 2009
Сообщений: 38
Спасибо за проверку XML.

А не подскажите как можно обойти эту ошибку.

Старый 03.06.2009, 18:14
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Воспользуйтесь советом камрада Mnilionic и напишите свой валидатор-корректор.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 03.06.2009, 21:14
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 10  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
Цитата:
пробовал, не помогло.
и не должно было. Игнорвайт пропускает текстовые ноды состоящие только из пробельных самволов. А в данном случае - это имя атрибута.

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.