Имя: Пароль:
1C
 
Как извлечь текст из ЧтениеXML в текст?
,
0 ИС-2
 
naïve
16.07.21
07:58
Есть переменная ЧтениеXML. Как из нее получить текст ? нужен метод обратный УстановитьСтроку
1 acanta
 
16.07.21
08:03
Сохранить в файл и открыть его как текст?
2 DES
 
16.07.21
09:04
вот может поможет

XMLФайл = Новый ЧтениеXML;
XMLФайл.ОткрытьФайл("http://sait.com/updates.xml");
    
ФабрикаXDTO= Новый ФабрикаXDTO;
ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(XMLФайл);
    
ЗаписьXML  = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
    
ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, ОбъектXDTO);    
результат =  ЗаписьXML.Закрыть();
3 youalex
 
16.07.21
09:15
Через DOM еще можно:
как-то так:

ПостроительDOM  = Новый ПостроительDOM;
ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);

ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписьDOM = Новый ЗаписьDOM;
ЗаписьDOM.Записать(ДокументDOM, ЗаписьXML)
ТвояСтрока = ЗаписьXML.Закрыть();
4 Вафель
 
16.07.21
09:55
А позиционирование чтения внутри фала имеет значение?
5 ИС-2
 
naïve
16.07.21
10:22
(2)  не получается. Какая-то ошибка в XML  ФабрикаXDTO.ПрочитатьXML(XMLФайл);

Поэтому мне надо извлечь текст без преобразований вXML
6 Serg_1960
 
16.07.21
10:28
"Разбор XML документа - почти все возможные способы"
https://infostart.ru/public/311011/
7 ИС-2
 
naïve
16.07.21
15:16
(6) читал. Но там не написано как просто извлечь текст из ЧтениеXML
8 acht
 
16.07.21
15:28
(0) Попробуй создать новую ЗаписьXML с нужным тебе приемником и прогнать по ней циклом все чтение, типа:

Пока ЧтениеXML.Прочитать()
    ЗаписьXML.ЗаписатьТекущий(ЧтениеXML);
КонецЦикла;
9 ДедМорроз
 
16.07.21
22:23
ЧтениеXML читает из потока,поток открывается из двоичных данных,а двоичные данные получаются из файла,который читается на клиенте.
Читать напрямую из строки? Не умеет.
Но,двоичные данные прекрасно из строки получаются.
10 acht
 
16.07.21
23:18
(9) Читать напрямую из строки? Не умеет.
Но,двоичные данные прекрасно из строки получаются.
Читать,конечно,ничего не умеет.
Но,есть возможность использовать "преобразователи строк".
Например,вставить в строку "Hello world" в двоичном коде.
В зависимости от того,из какой разрядности строка(12 или 2) будет преобразовываться,появляется возможность читать напрямую из строки.
При этом,как бы "поверх" строки читается уже ее содержимое.
То есть,для строки HELLOOOWWORLD,используется тот же двоичный код,что и был в строке HELLO.
11 ИС-2
 
naïve
05.08.21
14:13
(10) т.е ни как не узнать какой текст поместили ?
12 ИС-2
 
naïve
06.08.21
10:08
(1) как из переменной ЧтениеXML  сохранить в файл или текст?
13 mistеr
 
06.08.21
10:26
(12) В объекте ЧтениеXML  нет никакого текста. Там внутри только ссылка на источник. Вит из источника и извлекай текст.
14 ИС-2
 
naïve
06.08.21
13:10
(13) можно подробнее. Что за ссылка на источник. Среди свойств не вижу ничего подходящего

URIПространстваИмен
Автономный
БазовыйURI
ВерсияXML
Значение
ИгнорироватьПробелы
ИмеетЗначение
ИмеетИмя
Имя
ИмяНотации
КодировкаXML
КодировкаИсточника
КонтекстПространствИмен
Глубина
ПространствоИменПоУмолчанию
ЛокальноеИмя
Параметры
Версия
ИгнорироватьИнструкцииОбработки
ИгнорироватьКомментарии
ИгнорироватьОбъявлениеXML
ИгнорироватьПробельныеСимволы
ИгнорироватьТипДокумента
ИспользоватьИгнорируемыеПробельныеСимволы
ПробельныеСимволы
СекцииCDATAКакТекст
ТипПроверкиПравильности
Язык
Префикс
ПробельныеСимволы
ПубличныйИдентификатор
СистемныйИдентификатор
ТипУзла
ЭтоАтрибутПоУмолчанию
ЭтоПробельныеСимволы
ЭтоСимвольныеДанные
Язык
15 acht
 
06.08.21
13:32
(14) Потому что ссылка - внутри.
16 ИС-2
 
naïve
06.08.21
13:49
(15) что за ссылка внутри ? Имеет ввиду что ссылка объекта 1C превращена в текст ?
17 Ботаник Гарден Меран
 
06.08.21
14:23
Запись = Новый ЗаписьXML;
Запись.УстановитьСтроку();
    
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл("D:\ЗдесьКакойТоФайл.xml");
Пока Чтение.Прочитать() Цикл
    Запись.ЗаписатьТекущий(Чтение);
КонецЦикла;

СтрРезультат = Запись.Закрыть();
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.