Модераторы: Vitalik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсёр для компонента, Бета версия 
:(
    Опции темы
Quadr0
Дата 5.2.2006, 02:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:57
  Вверх
Quadr0
Дата 15.2.2006, 21:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:58
  Вверх
Vitalik
Дата 15.7.2006, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



SynUniParser 0.6

Парсер, конечно, замечательный, и, самое главное, маленький!

Однако надо бы еще возможность считывания всяких там &qt; и 
 сделать user posted image

А вот для более удобной работы с парсером я добавил несколько полезных методов:
Код
    function GetChildren(AName: WideString): TYZXMLTag;
    property ChildByName[AName: WideString]: TYZXMLTag read GetChildren;
    function AddChild(AName: WideString): TYZXMLTag; overload;

Скачать эти небольшие изменения можно во вложенном к сообщению файле.
Здесь только исходный код парсера, демку можно взять из предыдущей версии smile

P.S. Quadr0, когда появишься в онлайн? ;)
 

Присоединённый файл ( Кол-во скачиваний: 26 )
Присоединённый файл  SynUniXmlParser_ver06.zip 7,34 Kb
PM MAIL WWW ICQ YIM   Вверх
Quadr0
Дата 28.7.2006, 13:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 11:47
  Вверх
Quadr0
Дата 29.7.2006, 16:23 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:58
  Вверх
Quadr0
Дата 30.7.2006, 01:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:58
  Вверх
Vitalik
Дата 1.8.2006, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Чудненько smile

Но все же есть несколько замечаний  smile 

Цитата(Quadr0 @  29.7.2006,  15:23 Найти цитируемый пост)
Для удобной загрузки и сохранения xml добавлены две процедуры:
- LoadFromFile;
- SaveToFile;

Лучше сделай методы LoadFromStream и SaveToStream, так как из файла напрямую все равно xml в компоненте не читается

Цитата(Quadr0 @  29.7.2006,  15:23 Найти цитируемый пост)
Одним словом, я добавил только те символы, что наиболее часто используются и могут оказаться в подсветке. Вообще, теоретически, парсёр не гонится за поддержкой стандартов xml-я, но иметь совместимость с TXMLDocument было бы очень хорошо.

Гм.. Вообще-то даже XmlDocument символы '©', '№', '™' и '®' оставляет без изменений smile
Про оставльные спец. символы я вообще молчу. Преобразовывать (на сколько мне известно) нужно только угловые скобки ('<', '>'), кавычку ("), апостроф (') и амперсанд ('&'), ВСЁ!
А вот если преобразовывать еще какие-то символы, кроме вышеназванных, то не всякий парсер их прочитает! smile

Цитата(Quadr0 @  29.7.2006,  15:23 Найти цитируемый пост)
Писать загрузку и сохранение отдельно теперь не придётся, но возможность этого также оставлена.

Не понял, о чем ты?.. smile

Цитата(Quadr0 @  29.7.2006,  15:23 Найти цитируемый пост)
Vitalik, зыбыл сказать. Проверь парсёр на утечки

Гм.. Утечки есть, но это скорее утечки в моей работе над универсальным абстрактным парсером (тема "Вопросы и предложения по xml-парсеру"). Надо будет с ними разобраться.. smile

Цитата(Quadr0 @  30.7.2006,  00:27 Найти цитируемый пост)
Считывание спец. символов я добавил, но вот главный и забыл - перенос строки: &#xA;

Считывание - это отлично. Но хотелось бы, чтобы оно его опять не сохраняло, что есть весьма некрасиво (хотя согласен, это субъективно). Но об этом мы уже говорили в привате..

А теперь по поводу небольших, но очень неприятных багов парсера:
  • Считывать и преобразовывать нужно не только &#xA;, но еще и &#xa;, а также (по-хорошему) все возможные спец. символы с кодом символа &#xABC; и &#123;
  • Парсер вешается, если встречает между тегов символ апострофа ('), что не есть хорошо
    Код
    <tag>'text</tag>
  • Парсер начинает неправильно работать, если встречает звездочку в конце текста тега: 
    Код
    <tag>*text*</tag>
  • Почему-то из значения текста тега убираются все пробелы и знаки преринания (TYZXMLTag.Text)

PM MAIL WWW ICQ YIM   Вверх
Vitalik
Дата 1.8.2006, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Цитата(Vitalik @  1.8.2006,  15:28 Найти цитируемый пост)
Цитата(Quadr0 @  29.7.2006,  15:23 Найти цитируемый пост)
Vitalik, зыбыл сказать. Проверь парсёр на утечки smile

Гм.. Утечки есть, но это скорее утечки в моей работе над универсальным абстрактным парсером (тема "Вопросы и предложения по xml-парсеру"). Надо будет с ними разобраться.. smile

Тэксь утечки в абстрактном парсере залечил..
И как выяснилось в предлагаемом xml-парсере утечки таки присутствуют.. smile
PM MAIL WWW ICQ YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




[ Время генерации скрипта: 0.1278 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.