Xml парсер
Alien Дата: Сб, 04 Сентября 2010, 19:31 | Сообщение # 1
Создал xml парсер. У Сергея есть один парсер, но далеко не xml, скорее это просто "вырезатель" между символами. Эта функция (моя) работает быстрее, т.к. не используется посимвольного перебора. Соответственно, если xml ключа не найдено или он написан с ошибкой, он не выдает его значение. Парсит xml файлы вида:
Code
<main> <index>value</index> </main>
Функция использует следующие параметры:
" xmlParse " " Содержание xml файла" " Ключ(индекс)" " Сохранить значение в переменную"
В архив вложен проект с примером.
Спасибо за внимание
Сообщение отредактировано Alien - Сб, 04 Сентября 2010, 19:32
Сообщение Создал xml парсер. У Сергея есть один парсер, но далеко не xml, скорее это просто "вырезатель" между символами. Эта функция (моя) работает быстрее, т.к. не используется посимвольного перебора. Соответственно, если xml ключа не найдено или он написан с ошибкой, он не выдает его значение. Парсит xml файлы вида:
Code
<main> <index>value</index> </main>
Функция использует следующие параметры:
" xmlParse " " Содержание xml файла" " Ключ(индекс)" " Сохранить значение в переменную"
В архив вложен проект с примером.
Спасибо за внимание
Автор - Alien Дата добавления - 04 Сентября 2010 в 19:31
DEMBEL Дата: Сб, 04 Сентября 2010, 20:12 | Сообщение # 2
чото не работает. переменная res пустая, точнее ее вообще нету. а что там за ключ, что это вообще такое? Добавлено (04 Сентябрь 2010, 20:12) --------------------------------------------- да в общем, парсер для хмл и не нужен как таковой. Если это валидный хмл-документ, с vbscript можно просто обратиться к нужной секции документа или произвести запрос на выборку секций, и получить нужный текст. например, легко прочитал в проект ленту рсс с форума...
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение чото не работает. переменная res пустая, точнее ее вообще нету. а что там за ключ, что это вообще такое? Добавлено (04 Сентябрь 2010, 20:12) --------------------------------------------- да в общем, парсер для хмл и не нужен как таковой. Если это валидный хмл-документ, с vbscript можно просто обратиться к нужной секции документа или произвести запрос на выборку секций, и получить нужный текст. например, легко прочитал в проект ленту рсс с форума...
Автор - DEMBEL Дата добавления - 04 Сентября 2010 в 20:12
Alien Дата: Сб, 04 Сентября 2010, 20:43 | Сообщение # 3
DEMBEL , хотел на vbs, но сделал средствами nb Quote (DEMBEL )
а что там за ключ
ключ имеется ввиду индекс, секция, блок, не знаю как ещё обозвать <index >value </index> - красное нужно в ключ вставлять, синие , это то что выведет.
Сообщение отредактировано Alien - Сб, 04 Сентября 2010, 20:43
Сообщение DEMBEL , хотел на vbs, но сделал средствами nb Quote (DEMBEL )
а что там за ключ
ключ имеется ввиду индекс, секция, блок, не знаю как ещё обозвать <index >value </index> - красное нужно в ключ вставлять, синие , это то что выведет.Автор - Alien Дата добавления - 04 Сентября 2010 в 20:43
DEMBEL Дата: Сб, 04 Сентября 2010, 20:45 | Сообщение # 4
аа, понятно. секция. но правильнее - узел (node). работает.
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение аа, понятно. секция. но правильнее - узел (node). работает. Автор - DEMBEL Дата добавления - 04 Сентября 2010 в 20:45
Сергей Дата: Вс, 05 Сентября 2010, 11:43 | Сообщение # 5
Quote (Alien )
но далеко не xml,
а тогда мне и ненужен был хмл я делал типа парсить хтмл страницу, но тот на форуме певый и последний вариант, так как его писал на скорую руку и теперь он лишь как показательны пример. Давно для этого использую регулярки(это если нуна произвести сложный поиск) Твой пример тоже посмотрю, обязательно, но позже, у меня чет проблемы с компами просто интересно, как организовал
Сообщение Quote (Alien )
но далеко не xml,
а тогда мне и ненужен был хмл я делал типа парсить хтмл страницу, но тот на форуме певый и последний вариант, так как его писал на скорую руку и теперь он лишь как показательны пример. Давно для этого использую регулярки(это если нуна произвести сложный поиск) Твой пример тоже посмотрю, обязательно, но позже, у меня чет проблемы с компами просто интересно, как организовал Автор - Сергей Дата добавления - 05 Сентября 2010 в 11:43
Вадим Дата: Вс, 05 Сентября 2010, 12:34 | Сообщение # 6
Quote (Alien )
Создал xml парсер.
Новые функции для NB, это всегда хорошо! У меня с отображением кодировки какая-то нестыковка...
Правильно ли я понял, что парсер в поле "Результат" должен поместить содержимое между тегами, открывающий из которых указан в поле "Ключ"?
Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Сообщение Quote (Alien )
Создал xml парсер.
Новые функции для NB, это всегда хорошо! У меня с отображением кодировки какая-то нестыковка...
Правильно ли я понял, что парсер в поле "Результат" должен поместить содержимое между тегами, открывающий из которых указан в поле "Ключ"?
Автор - Вадим Дата добавления - 05 Сентября 2010 в 12:34
Сергей Дата: Вс, 05 Сентября 2010, 12:42 | Сообщение # 7
Quote (Вадим )
У меня с отображением кодировки какая-то нестыковка
страница в утф, прогини результат через плагин Петра utf-->win, и будет все ок
Сообщение Quote (Вадим )
У меня с отображением кодировки какая-то нестыковка
страница в утф, прогини результат через плагин Петра utf-->win, и будет все окАвтор - Сергей Дата добавления - 05 Сентября 2010 в 12:42
Alien Дата: Пн, 06 Сентября 2010, 18:02 | Сообщение # 8
Quote (Вадим )
Правильно ли я понял, что парсер в поле "Результат" должен поместить содержимое между тегами, открывающий из которых указан в поле "Ключ"?
да
Сообщение Quote (Вадим )
Правильно ли я понял, что парсер в поле "Результат" должен поместить содержимое между тегами, открывающий из которых указан в поле "Ключ"?
даАвтор - Alien Дата добавления - 06 Сентября 2010 в 18:02
SScrew Дата: Вс, 15 Мая 2011, 15:36 | Сообщение # 9
А этот плагин может "выдирать" данные внутри скобок по ключам? К примеру: <name="qwerty" num="0001" /> Нужно выдрать значения name и num
Сообщение А этот плагин может "выдирать" данные внутри скобок по ключам? К примеру: <name="qwerty" num="0001" /> Нужно выдрать значения name и num Автор - SScrew Дата добавления - 15 Мая 2011 в 15:36
Alien Дата: Вс, 15 Мая 2011, 15:38 | Сообщение # 10
нет, к сожалению на такое функция не способна
Сообщение отредактировано Alien - Вс, 15 Мая 2011, 15:38
Сообщение нет, к сожалению на такое функция не способна Автор - Alien Дата добавления - 15 Мая 2011 в 15:38
DEMBEL Дата: Вс, 15 Мая 2011, 17:34 | Сообщение # 11
Quote (SScrew )
Нужно выдрать значения name и num
но вообще это вполне реально
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение Quote (SScrew )
Нужно выдрать значения name и num
но вообще это вполне реальноАвтор - DEMBEL Дата добавления - 15 Мая 2011 в 17:34
Сергей Дата: Вс, 15 Мая 2011, 17:38 | Сообщение # 12
Quote (DEMBEL )
но вообще это вполне реально
если хml-ка правильная, то есть плагин для этих типовДобавлено (15 Май 2011, 17:38) --------------------------------------------- или старая добрая "явка"
Сообщение Quote (DEMBEL )
но вообще это вполне реально
если хml-ка правильная, то есть плагин для этих типовДобавлено (15 Май 2011, 17:38) --------------------------------------------- или старая добрая "явка"
Автор - Сергей Дата добавления - 15 Мая 2011 в 17:38
Фарид Дата: Пн, 16 Мая 2011, 11:31 | Сообщение # 13
А я пытаюсь парсить,у меня не выдается результат пример: <to>neobooker.ru</to> ключ: <to> результат наверно должен быть таким: neobooker.ru у меня не получается.....
Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
Сообщение А я пытаюсь парсить,у меня не выдается результат пример: <to>neobooker.ru</to> ключ: <to> результат наверно должен быть таким: neobooker.ru у меня не получается..... Автор - Фарид Дата добавления - 16 Мая 2011 в 11:31
Alien Дата: Пн, 16 Мая 2011, 12:10 | Сообщение # 14
Quote (Фарид )
А я пытаюсь парсить,у меня не выдается результат
пример: <to>neobooker.ru</to>
ключ: <to>
результат наверно должен быть таким: neobooker.ru
у меня не получается.....
а как пытаешься?
Сообщение Quote (Фарид )
А я пытаюсь парсить,у меня не выдается результат
пример: <to>neobooker.ru</to>
ключ: <to>
результат наверно должен быть таким: neobooker.ru
у меня не получается.....
а как пытаешься?Автор - Alien Дата добавления - 16 Мая 2011 в 12:10
Фарид Дата: Пн, 16 Мая 2011, 15:55 | Сообщение # 15
Quote (Alien )
а как пытаешься?
так я же написал как. хотел например парсить хмл который у тебя в примере. Пишу в ключ <to> ,результат должен быть neobooker.ru . Но когда начинаю парсить,то результат не выдается.Добавлено (16 Май 2011, 15:55) ---------------------------------------------Alien , или я делаю не правильно?
Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
Сообщение Quote (Alien )
а как пытаешься?
так я же написал как. хотел например парсить хмл который у тебя в примере. Пишу в ключ <to> ,результат должен быть neobooker.ru . Но когда начинаю парсить,то результат не выдается.Добавлено (16 Май 2011, 15:55) ---------------------------------------------Alien , или я делаю не правильно?
Автор - Фарид Дата добавления - 16 Мая 2011 в 15:55
Alien Дата: Пн, 16 Мая 2011, 17:25 | Сообщение # 16
Quote (Фарид )
так я же написал как
я код прошу
Сообщение Quote (Фарид )
так я же написал как
я код прошуАвтор - Alien Дата добавления - 16 Мая 2011 в 17:25
Фарид Дата: Пн, 16 Мая 2011, 18:45 | Сообщение # 17
Code
Call "xml parsing" "[xml]" "[key]" "[res]"
Добавлено (16 Май 2011, 18:45) --------------------------------------------- код из примера,просто поменял путь к функцию на свой.
Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
Сообщение Code
Call "xml parsing" "[xml]" "[key]" "[res]"
Добавлено (16 Май 2011, 18:45) --------------------------------------------- код из примера,просто поменял путь к функцию на свой.
Автор - Фарид Дата добавления - 16 Мая 2011 в 18:45
Alien Дата: Пн, 16 Мая 2011, 18:49 | Сообщение # 18
брр... в общем: чтобы получить neobooker.ru из Code
<to>neobooker.ru</to>
Выполняем следующее Code
Call "xml parsing" "<to>neobooker.ru</to>" "to" "[res]"
[res] будет равно neobooker.ru
Сообщение брр... в общем: чтобы получить neobooker.ru из Code
<to>neobooker.ru</to>
Выполняем следующее Code
Call "xml parsing" "<to>neobooker.ru</to>" "to" "[res]"
[res] будет равно neobooker.ru
Автор - Alien Дата добавления - 16 Мая 2011 в 18:49
Сообщение ммм.. вот как теперь ясно. я думал в ключ надо писать сам тег,а не слово. Спасибо за функцию Alien Добавлено (16 Май 2011, 18:56) --------------------------------------------- А что если в содержимой хмл есть несколько похожих ключей?
Автор - Фарид Дата добавления - 16 Мая 2011 в 18:56
Alien Дата: Пн, 16 Мая 2011, 18:58 | Сообщение # 20
Quote (Фарид )
А что если в содержимой хмл есть несколько похожих ключей?
функция рассчитана на уникальные ключи
Сообщение Quote (Фарид )
А что если в содержимой хмл есть несколько похожих ключей?
функция рассчитана на уникальные ключиАвтор - Alien Дата добавления - 16 Мая 2011 в 18:58
Фарид Дата: Пн, 16 Мая 2011, 19:10 | Сообщение # 21
Quote (Alien )
функция рассчитана на уникальные ключи
ясно.......
Дата регистрации: Вс, 30 Мая 2010, 21:05 Этож было вчера
Сообщение Quote (Alien )
функция рассчитана на уникальные ключи
ясно.......Автор - Фарид Дата добавления - 16 Мая 2011 в 19:10
DEMBEL Дата: Пн, 16 Мая 2011, 19:29 | Сообщение # 22
попробуй этот
Как задавать вопросы Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
Сообщение попробуй этот Автор - DEMBEL Дата добавления - 16 Мая 2011 в 19:29
SScrew Дата: Вт, 07 Июня 2011, 11:33 | Сообщение # 23
Quote (Сергей )
если хml-ка правильная, то есть плагин для этих типов
Не подскажешь где его взять? Потому что я смотрел на репозитории необука - там нету.
Сообщение Quote (Сергей )
если хml-ка правильная, то есть плагин для этих типов
Не подскажешь где его взять? Потому что я смотрел на репозитории необука - там нету.Автор - SScrew Дата добавления - 07 Июня 2011 в 11:33
Сергей Дата: Вт, 07 Июня 2011, 13:53 | Сообщение # 24
Quote (SScrew )
Не подскажешь где его взять
у меня в подписи 2 ссылка, поищи там. Наз-ся вроде NeoFeeds Добавлено (07 Июнь 2011, 13:53) --------------------------------------------- епт, да тут на форуме есть и есть Когда только поиском пользоватся будим...
Сообщение Quote (SScrew )
Не подскажешь где его взять
у меня в подписи 2 ссылка, поищи там. Наз-ся вроде NeoFeeds Добавлено (07 Июнь 2011, 13:53) --------------------------------------------- епт, да тут на форуме есть и есть Когда только поиском пользоватся будим...
Автор - Сергей Дата добавления - 07 Июня 2011 в 13:53
SScrew Дата: Пн, 27 Июня 2011, 17:35 | Сообщение # 25
Quote (Сергей )
у меня в подписи 2 ссылка, поищи там. Наз-ся вроде NeoFeeds
Ссылка битая
Сообщение Quote (Сергей )
у меня в подписи 2 ссылка, поищи там. Наз-ся вроде NeoFeeds
Ссылка битая Автор - SScrew Дата добавления - 27 Июня 2011 в 17:35