[РЕШЕНО] Как проверить существование узла при чтении ФабрикаXDTO

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Aidis, 27 ноя 2015.

  1. TopicStarter Overlay
    Aidis
    Offline

    Aidis

    Регистрация:
    13 дек 2007
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Есть файл XML, например, такой структуры

    <Студенты>
    <студент>
    <ФИО>Иванов</ФИО>
    <ДатаРождения>1990</ДатаРождения>
    <Хобби>Шахматы</Хобби>
    </студент>
    <студент>
    <ФИО>Петров</ФИО>
    <ДатаРождения>1991</ДатаРождения>
    </студент>
    </Студенты>

    Есть его схема XSD (загружена в конфигурацию).

    Окрываю файл и читаю его
    ЧтениеXML=новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ИмяФайла);
    Чтение = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);

    Для Каждого студент Из Чтение.Студенты.студент Цикл
    Сообщить(Студент.ФИО);
    Сообщить(Студент.ДатаРождения);
    Сообщить(Студент.Хобби);
    КонецЦикла;
    Но есть одна проблема. Как видите у Петрова отутствует "Хобби" (не спрашивайте почему так есть и все!), соответственно при попытке его прочитать выходит ошибка.
    Теперь вопрос! Есть ли возможность определить наличие данного свойства внутри узла "Студент"?
    З.Ы. "Попытка Исключение" не предлагать.
    Спасибо
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    В данном случае структура должна быть одинаковой во всем файле. Если этого сделать нельзя, то от использования ФабрикаXDTO придется отказаться и выполнять чтение файла в "ручном" режиме.
    Aidis нравится это.
  3. TopicStarter Overlay
    Aidis
    Offline

    Aidis

    Регистрация:
    13 дек 2007
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    1
    Эх.... Рухнули мои надежды...... Прощай XDTO.... здравствуй DOM..... :(
    Спасибо.....

Поделиться этой страницей