Skip to content

Commit 8628b75

Browse files
authored
Merge pull request #4 from ChernyakAI/feature/whitespace_characters
Поддержка чтения и записи пробельных символов
2 parents 2314025 + de3aab7 commit 8628b75

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/Классы/СериализацияДанныхXML.os

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343

4444
Чтение = Новый ЧтениеXML;
4545
Чтение.ОткрытьФайл(ПутьКФайлу);
46+
Чтение.ИгнорироватьПробелы = Ложь;
4647

4748
Результат = ПрочитатьXML(Чтение, , ИспользоватьПолноеИмяУзла);
4849

@@ -203,6 +204,12 @@
203204

204205
КонецПроцедуры
205206

207+
Процедура ЗаписатьПробельныеСимволы(ЗаписьXML, Текст)
208+
209+
ЗаписьXML.ЗаписатьБезОбработки(Текст);
210+
211+
КонецПроцедуры
212+
206213
Процедура ЗаписатьМассивВXML(ЗаписьXML, Знач ДанныеМассива)
207214

208215
Для каждого ЭлементМассива Из ДанныеМассива Цикл
@@ -239,6 +246,11 @@
239246
ЗаписатьЗначениеXML(ЗаписьXML, КлючЗначение.Значение);
240247
Продолжить;
241248
КонецЕсли;
249+
250+
Если КлючЗначение.Ключ = "_ПробельныеСимволы" Тогда
251+
ЗаписатьПробельныеСимволы(ЗаписьXML, КлючЗначение.Значение);
252+
Продолжить;
253+
КонецЕсли;
242254

243255
ЗаписатьЗначениеXML(ЗаписьXML, КлючЗначение.Значение, КлючЗначение.Ключ);
244256

@@ -334,6 +346,11 @@
334346
Лог.Отладка("Прочитана СекцияCDATA " + ЗначениеСвойства);
335347
КорневойУзел.Вставить("_CDATA", ЗначениеСвойства);
336348

349+
ИначеЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.ПробельныеСимволы Тогда
350+
ЗначениеСвойства = ЧтениеXML.Значение;
351+
Лог.Отладка("Прочитаны пробельные символы " + ЗначениеСвойства);
352+
КорневойУзел.Вставить("_ПробельныеСимволы", ЗначениеСвойства);
353+
337354
КонецЕсли;
338355

339356
КонецЦикла;

0 commit comments

Comments
 (0)