Вход | Регистрация
 

Как извлечь текст из ЧтениеXML в текст?

Как извлечь текст из ЧтениеXML в текст?
Я
   ИС-2
 
16.07.21 - 07:58
Есть переменная ЧтениеXML. Как из нее получить текст ? нужен метод обратный УстановитьСтроку
   acanta
 
1 - 16.07.21 - 08:03
Сохранить в файл и открыть его как текст?
   DES
 
2 - 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.Закрыть();
   youalex
 
3 - 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
А позиционирование чтения внутри фала имеет значение?
   ИС-2
 
5 - 16.07.21 - 10:22
(2)  не получается. Какая-то ошибка в XML  ФабрикаXDTO.ПрочитатьXML(XMLФайл);

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

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

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

СтрРезультат = Запись.Закрыть();

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.