Имя: Пароль:
1C
 
Вопрос по xml
,
0 Deahianaianyrto
 
16.11.15
10:58
Имеется файл xml:
<rul ogrn="" inn="7715064781" kpp="771500100" date_start="18.02.2003" number="0" address="127106, Москва г, Гостиничная ул, 7А" summa="0" date_reg="18.02.2003" grn="1037739714451">ГИЛЬДИЯ ХУДОЖЕСТВЕННОГО ПРОЕКТИРОВАНИЯ МОСКОВСКОГО СОЮЗА ХУДОЖНИКОВ</rul>
Как получить наименование отсюда? Т.е. ГИЛЬДИЯ ХУДОЖЕСТВЕННОГО ПРОЕКТИРОВАНИЯ МОСКОВСКОГО СОЮЗА ХУДОЖНИКОВ
Это вроде не атрибут?
1 cw014
 
16.11.15
10:59
ЧтениемXML? Можешь получить атрибут "CDATA" (или как он там называется)
2 Deahianaianyrto
 
16.11.15
11:00
Непонятно
3 Deahianaianyrto
 
16.11.15
11:01
Как конкретно прописать?
4 Deahianaianyrto
 
16.11.15
11:03
Вот я пишу:
...
        ИначеЕсли  Узел = "rul" Тогда
            Если  ЧтениеXML.ТипУзла =ТипУзлаXML.НачалоЭлемента Тогда
                ДобавитьВТаблицуУчредителей = Истина;
                СтрокаТаблицыУчредителей = ТаблицаУчредители.Добавить();
                ДобавитьВТаблицуСписка = Ложь;
            ИначеЕсли  ЧтениеXML.ТипУзла =ТипУзлаXML.КонецЭлемента Тогда
                ДобавитьВТаблицуУчредителей = Ложь;
                ДобавитьВТаблицуСписка   = Истина;
            КонецЕсли;

...
Потом
...
                    Если  ДобавитьВТаблицуУчредителей  Тогда
                        СтрокаТаблицыУчредителей.Наименование = СтрЗаменить(ЗначениеУзла,"&quot;","""");
                        Если ИмяАтрибута = "address" Тогда
                            СтрокаТаблицыУчредителей.Местонахождение =ЗначениеАтрибута;
                        ИначеЕсли ИмяАтрибута = "summa" Тогда
                            //Для демо режима, на случай если пришлют звездочки
                            Попытка
                                СтрокаТаблицыУчредителей.Сумма = Число(ЗначениеАтрибута);
                            Исключение
                                СтрокаТаблицыУчредителей.Сумма = ЗначениеАтрибута;
                            КонецПопытки;
                        //ИначеЕсли ИмяАтрибута = "percent" Тогда
                        //    СтрокаТаблицыУчредителей.Процент = ЗначениеАтрибута;
                        КонецЕсли;
                    КонецЕсли;

...

Но ЗначениеУзла приходит пустое, а как получить наименование?
5 cw014
 
16.11.15
11:03
ЧтениеXML.Значение
6 Ненавижу 1С
 
гуру
16.11.15
11:05
ЗначениеУзла хз что утебя
7 Deahianaianyrto
 
16.11.15
11:06
ЗначениеУзла =  СокрЛП(ЧтениеXML.Значение);
8 Мэс33
 
16.11.15
11:10
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Если Чтение.Имя="rul" Тогда
Чтение.Прочитать();
Если Чтение.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить("rul: "+Чтение.Значение);
КонецЕсли;
КонецЕсли;
КонецЕсли;
9 Fragster
 
гуру
16.11.15
11:11
юзать фабрику XDTO, а еще лучше - со схемой.
10 Fragster
 
гуру
16.11.15
11:14
Чтение = Новый ЧтениеXML;
Чтение.УстановитьСтроку(XML);
Чтение.ПерейтиКСодержимому();
Объект = ФабрикаXDTO.ПрочитатьXML(Чтение);
Текст = Объект.Последовательность().ПолучитьТекст(0);
11 Fragster
 
гуру
16.11.15
11:16
кстати, почему-то даты не в XML представлении, так что даже со схемой автоматического перевода даты из строки не получится.
12 Deahianaianyrto
 
16.11.15
11:32
(8) Нет там никакого ТипУзлаXML.Текст
13 Deahianaianyrto
 
16.11.15
11:32
(10) Непонятно
14 Deahianaianyrto
 
16.11.15
11:36
(8) Все принято, вопрос закрыт!
15 Мэс33
 
16.11.15
11:43
(14) Что принято-то?
16 Мэс33
 
16.11.15
11:44
На самом деле - я не помню как работать с xml  в 1С, но помню как гуглить.
Вопрос автору - а вам почему гугл не помог?
17 Fragster
 
гуру
16.11.15
12:01
(13) плохо