К списку форумов К списку вопросов
Чтение XML файла
Gamm
02.10.2004 - 00:20
Проблема.
Анализатор = СоздатьОбъект("AddIn.XMLParser");
ФайлДанных=Анализатор.СоздатьДокумент();
ФайлДанных.Загрузить(имяфайла);
ВсеУзлы=ФайлДанных.ВыбратьУзлы("catalog");
ВсеУзлы.ПолучитьУзел(0);
После ПолучитьУзел(0) выдает ошибку Неизвестное имя. Подскажите в чем дело или где можно почитать по этой теме.
Salex
1 - 02.10.2004 - 01:13
Почитать можно и нужно:"Описание внешней компоненты V7Plus"
А у тебя надо вот так:
Анализатор = СоздатьОбъект("AddIn.XMLParser");
ФайлДанных=Анализатор.СоздатьДокумент();
ФайлДанных.Загрузить(имяфайла);
КорневойУзел=ФайлДанных.ЭлементДокумента; // ВОТ ЭТО ТЫ ПРОПУСТИЛ, СНАЧАЛА НАДО ПОЛУЧИТЬ КОРНЕВОЙ УЗЕЛ ДОКУМЕНТА!!!
ВсеУзлы=КорневойУзел.ВыбратьУзлы("catalog");
ВсеУзлы.ПолучитьУзел(0);
Gamm
2 - 02.10.2004 - 13:37
Если так пробовать то тоже ничего не выходит.
Причем что интересно:
Анализатор = СоздатьОбъект("AddIn.XMLParser");
ФайлДанных=Анализатор.СоздатьДокумент();
ФайлДанных.Загрузить(имяфайла);
КорневойУзел=ФайлДанных.ЭлементДокумента; // ВОТ ЭТО ТЫ ПРОПУСТИЛ, СНАЧАЛА НАДО ПОЛУЧИТЬ КОРНЕВОЙ УЗЕЛ ДОКУМЕНТА!!!
ВсеУзлы=КорневойУзел.ВыбратьУзлы("catalog");
ВсеУзлы1=ФайлДанных.ВыбратьУзлы("catalog");
После этого выражение ВсеУзлы.КоличествоУзлов=0
а Всеузлы1.количествоузлов=1
А описание я почитал но никак не могу понять как методами её пользоваться.
Самый умный
3 - 02.10.2004 - 13:45
(3)
Анализатор = СоздатьОбъект("AddIn.XMLParser");
ФайлДанных=Анализатор.СоздатьДокумент();
ФайлДанных.Загрузить(имяфайла);
КорневойУзел=ФайлДанных.ЭлементДокумента; // ВОТ ЭТО ТЫ ПРОПУСТИЛ, СНАЧАЛА НАДО ПОЛУЧИТЬ КОРНЕВОЙ УЗЕЛ ДОКУМЕНТА!!!
ВсеУзлы=КорневойУзел.ВыбратьУзлы("catalog");
На последней строке КорневойУзел.Количество подчиненных чему равно?
Самый умный
4 - 02.10.2004 - 13:47
+3 Сори, КорневойУзел.КоличествоПодчиненных()
Самый умный
5 - 02.10.2004 - 13:54
У меня сделано вот так. Это рабочая обработка. XML-документ имеет корень с именем "Корень", у которого 2 ветки "Справочники" и "Документы"
Перем Анализатор,Документ,Справочники;
  Анализатор = СоздатьОбъект("AddIn.XMLParser");
  Документ=Анализатор.СоздатьДокумент();
  Документ.Загрузить(КаталогИБ()+"extforms\save.xml");
  
  КАттр=Документ.КоличествоПодчиненных();
  
  Для Сч = 1 По Каттр Цикл
    вр=Документ.ПолучитьПодчиненныйПоНомеру(Сч);
    Если вр.Наименование="Корень" Тогда
      Корень=вр;
    КонецЕсли;
  КонецЦикла;
  
  КАттр=Корень.КоличествоПодчиненных();
  
  Для Сч = 1 По Каттр Цикл
    вр=Корень.ПолучитьПодчиненныйПоНомеру(Сч);
    Если вр.Наименование="Справочники" Тогда
      Справочники=вр;
    ИначеЕсли вр.Наименование="Остатки" Тогда
      Остатки=вр;
    КонецЕсли;
  КонецЦикла;
Gamm
6 - 02.10.2004 - 21:39
(5) Спасибо. Все получилось способом как у тебя.

К списку вопросов на форуме 1C

>>