Имя: Пароль:
1C
1С v8
Парсим XML - что есть имя, а что атрибут?
0 MAPATNK2
 
naïve
06.02.17
08:44
Утро доброе. Такой вопрос. Есть XML файл такого рода :
http://www.tk-kipor.ru/users/genservice/CatalogExtYML/staticFullPrice.xml

Хотелось бы получать VendorCode и Picture. тоесть код номенклатуры и её картинку.

Пишу так:

    ЧтениеXML = новый ЧтениеXML;
    ЧтениеXML.ОткрытьФайл(ПолеВвода1);
    
    Пока ЧтениеXML.Прочитать() Цикл
        Если  ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
          Если ЧтениеXML.Имя = "offer" Тогда    
              НоменКод = ЧтениеXML.ПолучитьАтрибут("vendorCode");
              НоменВБазе = справочники.Номенклатура.НайтиПоКоду(НоменКод);            
          КонецЕсли;
          
          Если ЧтениеXML.Имя = "picture" Тогда    
              НоменКод = ЧтениеXML.ПолучитьАтрибут("picture");
              НоменВБазе = справочники.Номенклатура.НайтиПоКоду(НоменКод);            
          КонецЕсли;

        КонецЕсли;     
    КонецЦикла;



Но что то я запутался, что есть имя, а что атрибут. Парсер конечно не работает везде в получении атрибута выдает пустое значение(неопределенно). В чем я ошибся, не могли бы подсказать?
1 MAPATNK2
 
naïve
06.02.17
08:46
Только без подколов типа "В выборе профессии". Я только учусь.))
2 Fram
 
06.02.17
08:48
3 MAPATNK2
 
naïve
06.02.17
08:51
(2) Понял разницу между атрибутами и именем, спасибо большое. А не подскажете, как "внутренности" имени получить?
4 mistеr
 
06.02.17
08:55
(0) (0) picture и vendorCode это теги (элементы). Атрибуты это, например, name и unit:

<param name="Мощность" unit="кВт">2.2 кВт</param>
5 mistеr
 
06.02.17
09:08
(3) ЧтениеXML.Значение
6 MAPATNK2
 
naïve
06.02.17
09:21
(5) К сожалению картинку так вытащить не могу. Точнее ссылку на нее. ТОлько VendorCode
7 Fram
 
06.02.17
09:26
(6) ну ты уж там постарайся
8 Jokero
 
06.02.17
09:51
Почему в xml все пихают названия в значения, неудобно же? Не проще ли создать атрибут или я чего то не понимаю?
Вместо
<category id="4">Продукция</category>
делать
<category id="4" name = "Продукция"/>
9 mistеr
 
06.02.17
09:56
(8) Тебе неудобно, им удобно. Прелесть XML в гибкости.
10 quest
 
06.02.17
10:11
(8) Почитай про фабрикуxdto - и не будешь больше мучиться этим вопросом