AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.10.2013, 13:38   #1  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от lev Посмотреть сообщение
Я правильно понял, что один xml файл должен провериться на соответствие нескольким схемам?
Да, Вы поняли верно. Причём схемы имеют зависимости между собой.

Если цитировать одно из предыдущих сообщений темы:
Цитата:
не работает в случае, если в XSD-схеме используется импорт из другой схемы, содержащей другое пространство имен
Старый 19.10.2013, 02:14   #2  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Предложу свой вариант, работает на DAX 2009, но не пробовал с несколькими схемами, думаю должно работать, если нет, выложите плиз свои тестовые данные.

X++:
    System.Xml.XmlReaderSettings    xmlReaderSettings;
    System.Xml.Schema.XmlSchemaSet  xmlSchemaSet;
    System.Xml.XmlReader            xmlReader;
    ;
    
    try
    {
        xmlSchemaSet = new System.Xml.Schema.XmlSchemaSet();
        xmlSchemaSet.Add('', @'schemaPath1.xsd');
        xmlSchemaSet.Add('', @'schemaPath2.xsd');
        xmlReaderSettings = new System.Xml.XmlReaderSettings();
        xmlReaderSettings.set_ValidationType(System.Xml.ValidationType::Schema);
        xmlReaderSettings.set_Schemas(xmlSchemaSet);
        xmlReader = System.Xml.XmlReader::Create(@'fileName.xml', xmlReaderSettings);
        while(xmlReader.Read())
        {
            //
        }
        info("Ok");
    }
    catch( Exception::CLRError)
    {
        error(strFmt("Validation error: %1", AifUtil::getClrErrorMessage()));
    }
    if(!CLRInterop::isNull(xmlReader))
    {
        xmlReader.Close();
    }

Последний раз редактировалось handy-comp; 19.10.2013 в 02:19.
За это сообщение автора поблагодарили: trud (2), plumbum (1), Cardagant (1), A_BAS (1).
Старый 19.10.2013, 12:40   #3  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
2handy-comp

Спасибо за Ваш вариант!
А что должно быть в цикле While?
Старый 19.10.2013, 13:48   #4  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Цитата:
Сообщение от Cardagant Посмотреть сообщение
2handy-comp

Спасибо за Ваш вариант!
А что должно быть в цикле While?
Ничего, все как указано, только свои файлы пропишите.
Старый 20.10.2013, 01:05   #5  
Cardagant is offline
Cardagant
Участник
 
317 / 54 (2) ++++
Регистрация: 11.10.2011
Цитата:
Сообщение от handy-comp Посмотреть сообщение
Ничего, все как указано, только свои файлы пропишите.
Ваша версия кода для валидации XML-файлов работает!

Благодарю Вас за пример!
Старый 20.10.2013, 22:52   #6  
handy-comp is offline
handy-comp
Участник
 
96 / 78 (3) ++++
Регистрация: 27.09.2012
Цитата:
Сообщение от Cardagant Посмотреть сообщение
Ваша версия кода для валидации XML-файлов работает!

Благодарю Вас за пример!
Да не за что, теперь буду знать что и в варианте с несколькими схемами работает.
Теги
ax2009, ax3.0, ax4.0, xml, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Axapta & XML dj_Mage DAX: Программирование 4 11.08.2006 12:42
Проблема с выгрузкой/загрузкой файлов в базу из Axapta в др базу Jony DAX: Программирование 1 29.09.2004 15:20
Axapta 3, отправка файлов по eMail (КАК ИСПРАВИТЬ) raz DAX: Программирование 1 01.10.2003 15:07
XML в Axapta axot DAX: Программирование 4 01.11.2002 11:37
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:58.