| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Parsing XML файла. |
| Автор: iddqd 27.6.2006, 11:05 |
| Есть xml файл. В нём находится необходимая информация о пользоватиле + фотография + подпись. необходимо получить все поля из файла. Пробывал несколько парсеров, но неодин не читает файл. Показывает только "юя" в начале файла. Если из файла это удалить, то он становится вобще не читабельным. Как мне поступить в данном случае? Забыл добавить сам файл. Вот ссылки, т.к. на форум залить не получается. http://slil.ru/22876587 http://rapidshare.de/files/24247717/Smirnova.rar.html |
| Автор: comtat 27.6.2006, 12:13 |
| А какими парсерами пользовался например ?? Пробовал ли XML Parser, XMLDocument - очень неплохая вещь ?? |
| Автор: iddqd 27.6.2006, 12:21 |
| 1) стандартный Дельфийско-Микрософтовский парсер (TXmlDocument) 2) ECXML 3) Native XML (http://www.simdesign.nl/xml.html) 4) MVRB XML, XML Documents Parser (© 2002 Равиль Батыршин.) с Torry (http://www.torry.net/vcl/internet/html/mvrbxmlparsers.zip) 5) Jan XML Parser2 (http://www.torry.net/vcl/internet/html/janxmlparser2.zip) Читал другие топики на форуме. Ссылкпи взяты оттуда. |
| Автор: drkot 27.6.2006, 12:45 |
| Файл xml сохренен в формате юникод половина проблем отсюда (далеко не все парсеры поддерживают юникод) |
| Автор: iddqd 27.6.2006, 13:04 |
| Да, это я понял. Можешь посоветовать какой-нибудь, который поддерживает его? |
| Автор: drkot 27.6.2006, 13:50 |
| Попробовал обработать твой файлик стандартным парсером (XMLDocument) проблем никаких не возникло. Все работает на ура. ЗЫЖ МИД это прикольно. подтверждение моих слов во вложении |
| Автор: iddqd 27.6.2006, 14:20 |
| Можно твою тестовую программу заполучить? |
| Автор: drkot 27.6.2006, 15:00 |
| Модуль обработки сгенерирован XML Builder (встроен в делфю) |
| Автор: iddqd 27.6.2006, 15:08 |
| Я имею в виду сам код, как ты пользовался TXMLDocument. Добавлено @ 15:12 Ты автоматически сгенерировал код из дельфи для этого файла. 1. Как получить допустим поле картинки? 2. Будет ли оно точно также работать для другого файла xml с такой же структурой, но другими данными? PS: Я знаю. один топик, один вопрос. Но переносить вопросы, относящиеся к этому топику в другой не имеет смысла. |
| Автор: drkot 27.6.2006, 15:15 | ||
примерно так
|
| Автор: iddqd 27.6.2006, 15:26 | ||
Что это за переменные? |
| Автор: iddqd 27.6.2006, 16:04 |
| Разобрался самостоятельно, спасибо Добавлено @ 16:05 +1 |
| Автор: iddqd 8.9.2006, 14:34 | ||
| Поднимаю снова этот вопрос. Не вижу смысла создавать отдельную тему. Сейчас у меня в xml файле с точно такой же структурой не одна запись, а 2 и более. Вот xml файл: http://rapidshare.de/files/32366241/test.rar.html или http://getfile.biz/47722 Я сгенерировал для него код, с поощью XMLBuilder дельфийского. И обращаюсь к полям так:
При изменении индекса, который указан в коде все данные получаются нормально, кроме фотографии и подписи. Эти файлы пустые Нормально получаются фото и подпись только для первой записи, с индексом 0. Почему с остальными проблема? |
| Автор: drkot 11.9.2006, 11:06 |
| Скорее всего неправильно сгенерирован интерфейсный модуль. Смотри внимательно на параметры генерации. |
| Автор: iddqd 11.9.2006, 19:26 |
| Ммм, где мне на них смотреть? По-моему там только путь к файлу выбрать можно. У тебя у самого всё работает и фотку нормально показывает? |
| Автор: drkot 12.9.2006, 09:08 |
| Ошибка в 23 строке (это не шутка). Проблемы связаны с кодировкой (utf8) я рекомендую использовать 1251. В прочитаной строке (закодированая графика) вначале находятся символы перевода строки что и приводит к збою в преобразовании hextobin. Появление непечатных символов вызвано структурой исходного файла (парсер генератор и делфяшный видать не совместимы) . Выход: проверять на наличие ошибочных символов. Это хорошо видно в дебагере и исходном xml. после того как, визард составил структуру файла можно менять названия, типы и методы доступа для всех элементов |