Имя: Пароль:
1C
1С v8
Чтение XML
, ,
0 skupidom
 
21.02.18
10:32
Записываю XML:
ЗаписатьXML(ЗаписьXML, Данные.Номер,"Номер",НазначениеТипаXML.Явное);
в файле XML получается запись:
<Номер xsi:type="xs:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xs="http://www.w3.org/2001/XMLSchema">00000006435</Номер>;
При Чтение XML как мне прочитать что 00000006435 это Номер ?
1 Cyberhawk
 
21.02.18
10:36
Ну имя элемента же знаешь в цикле
2 skupidom
 
21.02.18
10:40
напишите выражение
3 skupidom
 
21.02.18
10:43
он мне выдает вот это ="xs:string"
4 Cyberhawk
 
21.02.18
10:45
Ага, только штаны подтяну (с)
5 skupidom
 
21.02.18
11:01
где здесь получить Имя "Номер"?
код:
Пока ЧтениеXML.Прочитать() Цикл
                
        Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
            
            
            ИмяУзла = ЧтениеXML.Имя;
            
            Атрибут.Очистить();
            
            Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
                                                                    
                ТипУзла = ЧтениеXML.ТипУзла;
                Имя = ЧтениеXML.Имя;
                Значение = ЧтениеXML.Значение;            

                
            КонецЦикла;
            
        ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда        
            
            Если Значение = "DocumentRef.ПоступлениеТоваровУслуг" Тогда
                                                                                    
                СтрокаGUID = ЧтениеXML.Значение;
                НовыйGUID = Новый УникальныйИдентификатор(СтрокаGUID);
                СсылкаПТУ = Документы.ПоступлениеТоваровУслуг.ПолучитьСсылку(НовыйGUID);
                
                Если СсылкаПТУ.ПолучитьОбъект() = Неопределено Тогда
                    
                    СтруктураПТУ = Новый Структура;                                
                    СтруктураПТУ.Вставить("УИДПТУ",НовыйGUID);            
                    
                    // Создаем новый документ в базе БИТ
                    СоздадимНовыйПТУ();                                            
                    
                КонецЕсли;
                
            ИначеЕсли Значение = "Номер" Тогда
                
                СтрокаНомер = ЧтениеXML.Значение;
                
            ИначеЕсли Значение = "Дата" Тогда
                
                СтрокаДата = ЧтениеXML.Значение;
                
            КонецЕсли;
            
        ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
            
        КонецЕсли;
        
        сч = сч + 1;
    КонецЦикла;
6 Cyberhawk
 
21.02.18
11:12
Отладку в помощь, если не владеешь терминами структуры ХМЛ-документа
7 igorPetrov
 
21.02.18
11:17
(5) Учимся читать документацию и думать.
8 Cyberhawk
 
21.02.18
11:19
(7) Послал так послал )
9 skupidom
 
21.02.18
11:20
"Номер" должен находиться в полном имени ЗаписьXML, как его вытащить ?
10 igorPetrov
 
21.02.18
11:25
(9) см. (6) (7)
11 Defender aka LINN
 
21.02.18
11:35
ФабрикаXDTO.Прочитать()