![]() |
![]() |
![]() |
|
Чтение XML в 1С | ☑ | ||
---|---|---|---|---|
0
asisdes
21.09.18
✎
19:44
|
Друзья можете подсказать, хоче спарить XML в табличную часть,
когда до хочу до поля filds там атрибуты есть, которые показывают на определенные данные. Но никак не мог до них достучатся, пример XML <?xml version="1.0" encoding="UTF-8"?> -<form name="form_300_07"> <field name="form_300_07_n_j_1">9953626</field> <field name="form_300_07_n_i_1">9953626</field> <field name="iin">130740020273</field> <field name="form_300_07_n_h_1">82945402</field> <field name="page_number">201</field> <field name="PaperFormsBarcode1"/> <field name="period_quarter">2</field> <field name="period_year">2017</field> -<row> <field name="form_300_07_n_d">130940020518</field> <field name="form_300_07_n_j">997</field> <field name="form_300_07_n_b"/> <field name="form_300_07_n_c">600800547674</field> <field name="form_300_07_n_e">00000001886</field> <field name="form_300_07_n_g"/> <field name="form_300_07_n_i">997</field> <field name="form_300_07_n_h">8308</field> <field name="form_300_07_n_a">00000002</field> <field name="form_300_07_n_k"/> <field name="form_300_07_n_m"/> <field name="form_300_07_n_f">03.04.2017</field> <field name="form_300_07_n_l"/> </row> -<row> <field name="form_300_07_n_g"/> <field name="form_300_07_n_k"/> <field name="form_300_07_n_b"/> <field name="form_300_07_n_a">00000003</field> <field name="form_300_07_n_i">793</field> <field name="form_300_07_n_h">6607</field> <field name="form_300_07_n_j">793</field> <field name="form_300_07_n_e">00000001887</field> <field name="form_300_07_n_d">130940020518</field> <field name="form_300_07_n_m"/> <field name="form_300_07_n_l"/> <field name="form_300_07_n_f">03.04.2017</field> <field name="form_300_07_n_c">600800547674</field> </row> </form> CODE ПутьКФайлу = "C:\Users\admin\Desktop\Тест\test2.xml"; Чтение = Новый ЧтениеXML; Чтение.ОткрытьФайл(ПутьКФайлу); Пока Чтение.Прочитать() Цикл Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда ИмяУзла = Чтение.Имя; Если СокрЛП(ИмяУзла) = "row" Тогда Сообщить("Товар Новый"); КонецЕсли; ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.Текст Тогда Если ИмяУзла = "field" Тогда РНН = Чтение.ЗначениеАтрибута(0); Если СокрЛП(РНН) = "form_300_07_n_c" Тогда Сообщить("РНН Есть" + Чтение.Значение) КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; |
|||
1
asisdes
21.09.18
✎
19:46
|
РНН = Чтение.ЗначениеАтрибута(0);
Если СокрЛП(РНН) = "form_300_07_n_c" Тогда Сообщить("РНН Есть" + Чтение.Значение) КонецЕсли; Эта часть кода не срабатывает, т.е. в зависимости от названия атрибута, я буду помещать их в определенную колонку таблицы значения |
|||
2
Cyberhawk
21.09.18
✎
19:55
|
Читай в ДОМ и радуйся обходу коллекции
|
|||
3
Cool_Profi
21.09.18
✎
20:40
|
А как не срабатывает? Может, там просто такого значения нет?
Отладчиком смотрел? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |