8.х ОБМЕН Изучаю XML, есть вопрос

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Inkeeper, 23 дек 2014.

  1. TopicStarter Overlay
    Inkeeper
    Offline

    Inkeeper Опытный в 1С

    Регистрация:
    22 мар 2009
    Сообщения:
    327
    Симпатии:
    0
    Баллы:
    26
    Доброго дня! Только начал изучать XML и возник вопрос поэтому сильно не пинайте. Есть простой xml файл:
    пытаюсь прочитать этот файл:
    Код:
        Файл = Новый ЧтениеXML;
        Файл.ОткрытьФайл("D:\Temp\upload.xml");
       
        Пока Файл.Прочитать() Цикл
           
            Если Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
               
                Если Файл.Имя = "Контрагент" Тогда
                       сч=0;
                    Пока Файл.ПрочитатьАтрибут() Цикл  //цикл по атрибутам
                       
                        сч=сч+1;
                    КонецЦикла;
                    
                КонецЕсли;
               
            КонецЕсли;
           
        КонецЦикла;
        Файл.Закрыть();
    
    в отладчике когда дохожу до цикла чтения атрибутов "Пока Файл.ПрочитатьАтрибут() Цикл", то по идее должно быть так - когда читаем узел Root, то в цикл не попадаем, далее след узел "<Контрагент Код="000000001" ЭтоГруппа="0">Иванов</Контрагент> " цикл по атрибутам должен выполниться 2 раза, т.к. атрибута 2, но у меня по F11 в отладчике какой-то бесконечный цикл получается (смотрю по сч, задолбался F11 нажимать, дошел до сч=250 и надоело). Объясните пожалуйста почему так.
  2. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.174
    Симпатии:
    13
    Баллы:
    29
    а вычисли
    Файл.Значение в твоем цикле
  3. TopicStarter Overlay
    Inkeeper
    Offline

    Inkeeper Опытный в 1С

    Регистрация:
    22 мар 2009
    Сообщения:
    327
    Симпатии:
    0
    Баллы:
    26
    по мере обхода цикла то Файл.Значение = "000000001", то "0", но не 2 раза, а больше. Т.е. из цикла не выхожу после 2 раз
  4. TopicStarter Overlay
    Inkeeper
    Offline

    Inkeeper Опытный в 1С

    Регистрация:
    22 мар 2009
    Сообщения:
    327
    Симпатии:
    0
    Баллы:
    26
    ладно, буду считать, что цикл выполняется за 2 прохода по каждому узлу где есть по 2 атрибута
Похожие темы
  1. dennisminsk
    Ответов:
    1
    Просмотров:
    3.116
  2. Dimka77
    Ответов:
    5
    Просмотров:
    1.937
  3. Tamerlan777
    Ответов:
    1
    Просмотров:
    621
  4. shurup56
    Ответов:
    9
    Просмотров:
    1.442
  5. sammas
    Ответов:
    1
    Просмотров:
    418
Загрузка...

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