Имя: Пароль:
1C
 
ЧтениеXML в строку XML
0 Necessitudo
 
28.07.15
14:17
Добрый день! Есть файл с данными, описанными через xml. Мне нужно получить строку, которую возвращает объект ЗаписьXML.Закрыть() - при этом в этой строке должны быть данные из этого файла с данными. Как такое сделать?
1 Serginio1
 
28.07.15
14:36
Прочитай как текст через ТекстовыйДокумент
прочитать
ПолучитьТекст
2 Necessitudo
 
28.07.15
17:13
(1) Ага, ты прав.

Я сделал вот так:

    ЗаписьXML = Новый ЗаписьXML;
        ЗаписьXML.УстановитьСтроку();
        
        ЗаписьXML.ЗаписатьОбъявлениеXML();
        
        ПарсерXML = Новый ЧтениеXML;
        ПарсерXML.ОткрытьФайл(ФайлЗаказов);
        
        Пока ПарсерXML.Прочитать() Цикл
            
            Если ПарсерXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
                ЗаписьXML.ЗаписатьНачалоЭлемента(ПарсерXML.ЛокальноеИмя);
                
                Пока ПарсерXML.СледующийАтрибут() Цикл
                    ЗаписьXML.ЗаписатьАтрибут(ПарсерXML.ЛокальноеИмя, ПарсерXML.Значение);
                КонецЦикла;
                
            ИначеЕсли  ПарсерXML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
                ЗаписьXML.ЗаписатьКонецЭлемента();     
            КонецЕсли;
            
            Если ПарсерXML.ТипУзла = ТипУзлаXML.Текст Тогда
                ЗаписьXML.ЗаписатьТекст(ПарсерXML.Значение);
            ИначеЕсли  ПарсерXML.ТипУзла = ТипУзлаXML.СекцияCDATA Тогда
                ЗаписьXML.ЗаписатьСекциюCDATA(ПарсерXML.Значение);
            ИначеЕсли  ПарсерXML.ТипУзла = ТипУзлаXML.Комментарий Тогда
                ЗаписьXML.ЗаписатьКомментарий(ПарсерXML.Значение);    
            КонецЕсли;
            
        КонецЦикла;
        
        СтрокаXML = ЗаписьXML.Закрыть();
3 Serginio1
 
31.07.15
22:59
Можно сделать значительно проще

ЗаписьXML = Новый ЗаписьXML;
   ЗаписьXML.УстановитьСтроку();
   Пока ЧтениеXML.Прочитать() Цикл
       ЗаписьXML.ЗаписатьТекущий(ЧтениеXML);
   КонецЦикла;
   СтрокаXML = ЗаписьXML.Закрыть();
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.