Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sportsoft
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
#1

Проверка валидности в libxml++ - C++

17.08.2013, 22:59. Просмотров 425. Ответов 4
Метки нет (Все метки)

Подскажите, как с помощью этой библиотеки можно проверить валидность документа на соответствие XML. Вариант через исключение при создании не годится, т.к. в этом случае libxml++ выводит в поток описание ошибки без моего ведома...
Документацию читал, но разобраться не смог...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2013, 22:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка валидности в libxml++ (C++):

Проверка валидности указателя - C++
Привет! Есть ли в С++ нормальный метод проверки валидности указателя? Разумеется, что бы софт при этом не падал :D Мне нужно...

Компиляция библиотеки libxml под c++ - C++
Под libxml есть библиотека xmlwrapp позволяющая работать с libxml под с++. Проблема в ее компиляции: по...

Определение валидности хеша sha256 - C++
Требуется написать программу которая по списку из файла определяет валидный хеш или нет (sha256) http://shadecrypt.com/home# Вот пример...

Visual C++ проверка ввода на число, проверка на кирилицу - C++
Суть ввести с клавиатуры нечто, и повторять ввод до тех пор пока введенное число не будет числом. Этот код проверяет на буквы и знаки,...

Проверка валидности библиотеки - C++ Qt
Вечер добрый. Прошу помочь по достаточно простому вопросу. У меня есть динамическая библиотека. Точнее она не совсем есть. Она может...

Проверка валидности xml - Java EE
Всем доброго времени! В общем-то все просто: есть xml файл, который затем обрабатывается с помощью JAXB. Но перед тем как его...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
17.08.2013, 23:21 #2
c либой дело не имел и возможно там есть более правильные методы обработки ошибок.
залез в доку. там в парсере такие виртуальные функции:
C++
1
2
3
4
5
virtual void    on_validity_error (const Glib::ustring& message)
virtual void    on_validity_warning (const Glib::ustring& message)
virtual void    handleException (const exception& e)
virtual void    check_for_exception ()
virtual void    check_for_validity_messages ()
раз так, значит их можно переопределить так, чтобы они не писали ничего в поток.
1
sportsoft
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
18.08.2013, 13:51  [ТС] #3
Не работал никогда с виртуальными методами, спасибо. Пробовал вот так - не помогло.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class ttt: public xmlpp::DomParser
{
    protected:
    virtual void    on_validity_error (const Glib::ustring& message) { }
    virtual void    on_validity_warning (const Glib::ustring& message) { }
    virtual void    handleException (const exception& e) { }
    virtual void    check_for_exception () { }
    virtual void    check_for_validity_messages () { }
};
 
...
try
{
        ttt Parser;
        istringstream test( "<yyy>/yyy>" );
 
        Parser.parse_stream( test );
}
catch(xmlpp::exception uu)
{
    cout << "Bad parsing: " << uu.what() << endl;
}
Еще нашел метод:
set_throw_messages (bool val=true)
Set whether the parser will collect and throw error and warning messages.

Но он появился только в последней редакции и пока не могу им воспользоваться.
0
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
18.08.2013, 16:03 #4
ну задебажте код от места возникновения исключения до места генерации трейса. так будет понятно, как кастомизировать поведение, если оно кастомизируется.
0
sportsoft
0 / 0 / 0
Регистрация: 25.06.2013
Сообщений: 12
18.08.2013, 19:22  [ТС] #5
Цитата Сообщение от DU Посмотреть сообщение
ну задебажте код от места возникновения исключения до места генерации трейса. так будет понятно, как кастомизировать поведение, если оно кастомизируется.
Спасибо за помощь. Пишу в блокноте, нет возможности проверить. Пока просто отключил стандартный вывод ошибок, т.к. он все равно не используется, и стало все ок...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2013, 19:22
Привет! Вот еще темы с ответами:

Проверка валидности email - JavaScript
Код проверяет заполнены ли поля: if ( posName.value == '') { alert(&quot;Введите Ваше имя&quot;); posName.focus(); return; } if...

Проверка валидности строк - Visual Basic .NET
Здравствуйте. Возникла необходимость проверить структуру документа на соответствие маске перед внесением в него изменений. Для...

Проверка валидности числа - PHP
Добрый день. preg_match(&quot;/^\d{6}$/i&quot;, @$_POST) Если я ввожу 1 или 2 код выполняется правильно. Но злодей может написать и -1 или -2....

Проверка валидности путей в столбце - VBA
Здравствуйте, помогите пожалуйста с макросом, который определял бы правильность путей в столбце. Прикладываю файл Нужно, чтобы макрос...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.08.2013, 19:22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru