Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
23.12.2008, 13:22
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Здравствуйте. Разбираю очень большие XML-файлы, поэтому SAX. Использую libxml2 из C++ программы. Никак не могу понять, как остановить этот парсер. Нашел такое сообщение: http://mail.gnome.org/archives/xml/2002-August/msg00236.html , но перевести его нельзя. Exceptions из callbacks не ловятся, да я и не хочу мешать. Мне интересен механизм библиотеки. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.12.2008, 00:35
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Не знаю, как на счет libxml, а в msxml callback - это методы интерфейса. Поэтому достаточно в методе возвратить ошибочный код завершения. Например E_ABORT С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.12.2008, 09:45
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Здесь void callbacks. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.12.2008, 11:27
|
|||
---|---|---|---|
Как остановить SAX парсер? |
|||
#18+
возможно, можно что-то сделать с экземпляром парсера. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.12.2008, 12:34
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Есть xmlStopParser, но как получить парсер? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.12.2008, 13:30
|
|||
---|---|---|---|
Как остановить SAX парсер? |
|||
#18+
судя по докам, контекст в хэндлеры передаётся. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.12.2008, 13:56
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
В callbacks передается пользовательский контекст(void*). Т.е. та структура данных, которую ты хочешь. Как наколдовать xmlParserCtxtPtr второй день понять не могу. И в поиске тишина. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.12.2008, 15:28
|
|||
---|---|---|---|
Как остановить SAX парсер? |
|||
#18+
во , как ты парсер создаёшь? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.12.2008, 09:41
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Парсер не создавал. Использую xmlSAXUserParseMemory. Что такое push mode не знаю. Сейчас попробую xmlCreatePushParserCtxt. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.12.2008, 11:40
|
|||
---|---|---|---|
Как остановить SAX парсер? |
|||
#18+
Ещё можно тупо глянуть, как реализован xmlSAXUserParseMemory. Оказывается, контекст – вещь универсальная и способна связать потоки/память с sax/dom в любых комбинациях. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
25.12.2008, 17:44
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Глядя в исходники, xmlSAXUserParseMemory создает тот самый парсер, который можно остановить. Но ни одна ф-я не возвращает его. Буду писать в mail-list. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.12.2008, 11:18
|
|||
---|---|---|---|
Как остановить SAX парсер? |
|||
#18+
ну ты даёшь. Кто кого не возвращает? Что не понятно в xmlSAXUserParseMemory? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.12.2008, 11:33
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Она не возвращает ctxt = xmlCreateMemoryParserCtxt(buffer, size); =) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.12.2008, 11:48
|
|||
---|---|---|---|
Как остановить SAX парсер? |
|||
#18+
Кто она? Кого не возвращает xmlCreateMemoryParserCtxt? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.12.2008, 11:49
|
|||
---|---|---|---|
Как остановить SAX парсер? |
|||
#18+
И какой же сакральный смысл имеет здесь знак равно? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.12.2008, 11:50
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Наверное, я понял твою мысль. =) Когда сам придумал. =) Вместо вызова xmlSAXUserParseMemory() буду использовать её код. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.12.2008, 12:18
|
|||
---|---|---|---|
|
|||
Как остановить SAX парсер? |
|||
#18+
Это знак присвоить. Оказалось, xmlCreateMemoryParserCtxt() внутренняя ф-я библиотеки. Остается push mode. Только он мне совсем не подходит, так как работаю с огромными файлами в памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.12.2008, 13:37
|
|||
---|---|---|---|
Как остановить SAX парсер? |
|||
#18+
а что, у него с этим проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=14&mobile=1&tid=1333693]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 310ms |
total: | 469ms |
0 / 0 |