Чтение XML
12.04.2011
14:38
#1
"Здравствуйте! Подскажите пожалуйста, как создать обработку файла xml.
Фрагмент файла:
<ФайлОбмена ВерсияФормата="2.0" ДатаВыгрузки="2011-03-22T15:38:22" НачалоПериодаВыгрузки="2011-02-28T00:00:00" ОкончаниеПериодаВыгрузки="2011-02-28T00:00:00" ИмяКонфигурацииИсточника="Бухгалтерский учет, редакция 4.5" ИмяКонфигурацииПриемника="БухгалтерияПредприятия" ИдПравилКонвертации="46f37d56-deff-4ae4-8060-10c3e36ccc0a" Комментарий="""">
+ <ПравилаОбмена ВерсияФормата="2.01" Ид="46f37d56-deff-4ae4-8060-10c3e36ccc0a" Наименование="Выгрузка в ВТО" ДатаВремяСоздания="2011-03-22T15:32:07" Источник="Бухгалтерский учет, редакция 4.5" Приемник="БухгалтерияПредприятия">
+ <ПравилаКонвертацииОбъектов>
+ <ПравилаОбмена ВерсияФормата="2.01" Ид="46f37d56-deff-4ae4-8060-10c3e36ccc0a" Наименование="Выгрузка в ВТО" ДатаВремяСоздания="2011-03-22T15:32:07" Источник="Бухгалтерский учет, редакция 4.5" Приемник="БухгалтерияПредприятия">
- <Объект Нпп="3" Тип="СправочникСсылка.Номенклатура" ИмяПравила="Номенклатура">
+ <Ссылка Нпп="3">
- <Свойство Имя="Код" Тип="Строка">
<Значение>6066Значение>
Свойство>
Ссылка>
- <Свойство Имя="Наименование" Тип="Строка">
<Значение>Маслины крупные Значение>
Свойство>
Не могу понять, как получить значение "Маслины крупные". Подскажите пожалуйста!
Код:
Файл = Новый ЧтениеXML;
ПутьКФайлу = СокрЛП(ФайлЗагрузки);
Файл.ОткрытьФайл(ФайлЗагрузки);
Пока Файл.Прочитать() Цикл
Если Файл.Имя = "ПравилаОбмена" И Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Для Атрибут = 0 По Файл.КоличествоАтрибутов() Цикл
Если Атрибут = 2 Тогда
Наименование = Файл.ПолучитьАтрибут(Атрибут);
ИначеЕсли Атрибут = 3 Тогда
ДатаВыгрузки = Файл.ПолучитьАтрибут(Атрибут);
ИначеЕсли Атрибут = 4 Тогда
Источник = Файл.получитьАтрибут(Атрибут);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Файл.Имя = "Объект" И Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
НПП = Файл.ПолучитьАтрибут(0);
ТипОбъекта = Файл.ПолучитьАтрибут(1);
ИмяПравила = Файл.ПолучитьАтрибут(2);
Если ТипОбъекта = "СправочникСсылка.Номенклатура" Тогда
ПрочитатьЭлементНоменклатура(Файл);
НоваяСтрока=ТаблицаНоменклатуры.Добавить();
НоваяСтрока.НПП = НПП;
НоваяСтрока.ИмяПравила = ИмяПравила;
// читать номенклатуру в буфер (ТаблицаНоменклатуры)
ИначеЕсли ТипОбъекта = "ДокументСсылка.РеализацияТоваровУслуг" Тогда
ПрочитатьДокументРеализацияТоваровУслуг(Файл);
НоваяСтрока=ТаблицаРеализацияТоваровУслуг.Добавить();
НоваяСтрока.НПП = НПП;
НоваяСтрока.ИмяПравила = ИмяПравила;
// читать в таблицу документ
Иначе
ПрочитатьТаблицаСчетФактураВыданный(Файл);
НоваяСтрока=ТаблицаСчетФактураВыданный.Добавить();
НоваяСтрока.НПП = НПП;
НоваяСтрока.ИмяПравила = ИмяПравила;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры"
Фрагмент файла:
<ФайлОбмена ВерсияФормата="2.0" ДатаВыгрузки="2011-03-22T15:38:22" НачалоПериодаВыгрузки="2011-02-28T00:00:00" ОкончаниеПериодаВыгрузки="2011-02-28T00:00:00" ИмяКонфигурацииИсточника="Бухгалтерский учет, редакция 4.5" ИмяКонфигурацииПриемника="БухгалтерияПредприятия" ИдПравилКонвертации="46f37d56-deff-4ae4-8060-10c3e36ccc0a" Комментарий="""">
+ <ПравилаОбмена ВерсияФормата="2.01" Ид="46f37d56-deff-4ae4-8060-10c3e36ccc0a" Наименование="Выгрузка в ВТО" ДатаВремяСоздания="2011-03-22T15:32:07" Источник="Бухгалтерский учет, редакция 4.5" Приемник="БухгалтерияПредприятия">
+ <ПравилаКонвертацииОбъектов>
+ <ПравилаОбмена ВерсияФормата="2.01" Ид="46f37d56-deff-4ae4-8060-10c3e36ccc0a" Наименование="Выгрузка в ВТО" ДатаВремяСоздания="2011-03-22T15:32:07" Источник="Бухгалтерский учет, редакция 4.5" Приемник="БухгалтерияПредприятия">
- <Объект Нпп="3" Тип="СправочникСсылка.Номенклатура" ИмяПравила="Номенклатура">
+ <Ссылка Нпп="3">
- <Свойство Имя="Код" Тип="Строка">
<Значение>6066Значение>
Свойство>
Ссылка>
- <Свойство Имя="Наименование" Тип="Строка">
<Значение>Маслины крупные Значение>
Свойство>
Не могу понять, как получить значение "Маслины крупные". Подскажите пожалуйста!
Код:
Файл = Новый ЧтениеXML;
ПутьКФайлу = СокрЛП(ФайлЗагрузки);
Файл.ОткрытьФайл(ФайлЗагрузки);
Пока Файл.Прочитать() Цикл
Если Файл.Имя = "ПравилаОбмена" И Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Для Атрибут = 0 По Файл.КоличествоАтрибутов() Цикл
Если Атрибут = 2 Тогда
Наименование = Файл.ПолучитьАтрибут(Атрибут);
ИначеЕсли Атрибут = 3 Тогда
ДатаВыгрузки = Файл.ПолучитьАтрибут(Атрибут);
ИначеЕсли Атрибут = 4 Тогда
Источник = Файл.получитьАтрибут(Атрибут);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Файл.Имя = "Объект" И Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
НПП = Файл.ПолучитьАтрибут(0);
ТипОбъекта = Файл.ПолучитьАтрибут(1);
ИмяПравила = Файл.ПолучитьАтрибут(2);
Если ТипОбъекта = "СправочникСсылка.Номенклатура" Тогда
ПрочитатьЭлементНоменклатура(Файл);
НоваяСтрока=ТаблицаНоменклатуры.Добавить();
НоваяСтрока.НПП = НПП;
НоваяСтрока.ИмяПравила = ИмяПравила;
// читать номенклатуру в буфер (ТаблицаНоменклатуры)
ИначеЕсли ТипОбъекта = "ДокументСсылка.РеализацияТоваровУслуг" Тогда
ПрочитатьДокументРеализацияТоваровУслуг(Файл);
НоваяСтрока=ТаблицаРеализацияТоваровУслуг.Добавить();
НоваяСтрока.НПП = НПП;
НоваяСтрока.ИмяПравила = ИмяПравила;
// читать в таблицу документ
Иначе
ПрочитатьТаблицаСчетФактураВыданный(Файл);
НоваяСтрока=ТаблицаСчетФактураВыданный.Добавить();
НоваяСтрока.НПП = НПП;
НоваяСтрока.ИмяПравила = ИмяПравила;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры"
Читают тему
(гостей: 1)