Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.04.2015, 08:43   #1
trish145
Пользователь
 
Регистрация: 15.03.2013
Сообщений: 19
Печаль C# - Работа с xml с нарушенной структурой

Всем доброго времени суток!

Есть Xml Файл, в котором нарушена XML структура.
Для вывода ошибки использую следующий код
Код:
            try
            {
 
                XDocument xDoc = XDocument.Load("Test.xml");
 
            }
            catch (Exception ex)
            {
                richTextBox1.text = ex.ToString();
            }
Ошибку выводит, но доходит только до первой ошибки и дальше не идет, как продолжить процесс поиска ошибки?
trish145 вне форума Ответить с цитированием
Старый 29.04.2015, 09:02   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Как именно нарушена?
Если он well formed (все теги закрыты и т.п.) и надо просто проверить по схеме (xsd), то там есть метод Validate:

Код:
            doc.Validate(schema, (o, e) =>
            {
                // вывод e.Message
            });

А если совсем некорректный xml, то не встречал такого, вряд ли легко.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 29.04.2015 в 09:06.
Alex11223 вне форума Ответить с цитированием
Старый 29.04.2015, 09:03   #3
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

для этого надо иметь схему и валидировать по ней
lomastr_ вне форума Ответить с цитированием
Старый 29.04.2015, 09:08   #4
trish145
Пользователь
 
Регистрация: 15.03.2013
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Как именно нарушена?
Если он well formed (все теги закрыты и т.п.) и надо просто проверить по схеме (xsd), то там есть метод Validate:

Код:
            doc.Validate(schemas, (o, e) =>
            {
                // вывод e.Message
            });

А если совсем некорректный xml, то не встречал такого, вряд ли легко.

Ну к примеру, в значении одного тега лишний элемент, такой как <> @ ", на эти элементы C# выдает ошибку, но выдает только на первый элемент, то есть если есть дальше ошибки, то он их не видит, т.к. останавливается на данном элементе. Вот как продолжить проверку по всему файлы, что вывод был по всем ошибкам
trish145 вне форума Ответить с цитированием
Старый 29.04.2015, 09:26   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В стандартных XML парсерах вроде нет такой возможности, только если по схеме. Пишите свой. А зачем вам такое?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с многострочной структурой в XML VitProff Общие вопросы Delphi 2 05.11.2014 18:32
Работа со структурой SorryHelpMePLZ C/C++ Базы данных 1 02.06.2013 23:33
работа со структурой в с++ kewa Помощь студентам 0 07.12.2012 21:42
работа со структурой Кристинка89 Общие вопросы C/C++ 1 25.03.2011 21:43
POST запрос с XML структурой (php) ExHang Помощь студентам 0 07.01.2011 20:42