powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / XML документ и автоматическая конвертация управляющих символов
8 сообщений из 8, страница 1 из 1
XML документ и автоматическая конвертация управляющих символов
    #39744534
svd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свем привет.
Столкнулся со следующей проблемой, когда в аннтробутах и тэгах используются символы управления (chr 4, chr 15, chr 29, chr 30 и др). В результате в тецте документа должны появиться замены на цифровой код.

создаю документ так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function T_XMLWWKS20.createDOMdocument: IXMLDOMDocument2;
var
  pi : IXMLDOMProcessingInstruction;

begin
  CoInitialize(nil);
  Result := CoDOMDocument40.Create;

  pi := Result.createProcessingInstruction('xml', 'version="1.0"');
  Result.appendChild(pi);
end;


Поиск по гуглю дaл упоминание, что использованияе типа 1.0 не проводирт конвертацию таких символов, а вот 1.1 должен делать автоматически. При этом нет пояснение что такое 1.0 и 1.1. Полагаю, что речь идет о версии XML. Но при замене версии на 1.1 выкидывает исключение 'Некорректная версия'.

Кто нибудь знает как разруливать это в DOMXML?
...
Рейтинг: 0 / 0
XML документ и автоматическая конвертация управляющих символов
    #39745157
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всегда можно энкодить вручную.
Btw, в тегах и именах атрибутов подстановки управляющих символов запрещены
...
Рейтинг: 0 / 0
XML документ и автоматическая конвертация управляющих символов
    #39745206
svd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Речъ идет не об именах, а ыначенизах в атрибутах и тегах. Проще говоря со сканера принимается код. В нем могут бытъ управляющие символы. Если их просто присвоить в XML, то документ получается, но после сохранения он невалидный.

dot Net спецы утверждают, что нужно использовать XML 1.1, тогда вся управляющая чепуха автоматически переписывается на что то типа \x1D и &. Но мне надо все это на Delphi реализовывать.
...
Рейтинг: 0 / 0
XML документ и автоматическая конвертация управляющих символов
    #39745397
goldmi45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svd, а как другие недопустимые символы (&,<,>,", перевод строки) у вас в xml записываются?

можно перед тем, как присвоить атрибуту и тегу значение, самостоятельно преобразовывать недопустимые символы (добавлять амперсант): , и т.д.
...
Рейтинг: 0 / 0
XML документ и автоматическая конвертация управляющих символов
    #39745416
svd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldmi45,

Точно так же - должны автоматически преобразовываться. Пока делаю именно свои методы - другое не получается. Спрашиваю, потому как не очень много опыта обработки XML "стандартными" библиотеками.

PS: нашел несколько топиков на стэке, что в микрософтовких библиотеках нет реализации 'XML 1.1' по стандарту, а есть кастомные реализации для Ява и пр. Но сообщения все 2006го года. Тем более от дот-Нетовцев другая инфа.
...
Рейтинг: 0 / 0
XML документ и автоматическая конвертация управляющих символов
    #39745481
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы посоветовал заюзать нормальный XML движок.
Если это не выход, то, как я и сказал ранее, можно энкодить вручную. Там всего пяток недопустимых символов.
...
Рейтинг: 0 / 0
XML документ и автоматическая конвертация управляющих символов
    #39745492
svd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2Я бы посоветовал заюзать нормальный XML движок.
Если это не выход, то, как я и сказал ранее, можно энкодить вручную. Там всего пяток недопустимых символов.

Символов поболее - Есть управляющие символы: это в основном коды от 01 до 31.

И так вернемся к первому вопосу: нормальный XML движок это какой? MSXML6 - поддерживает такую вещь или нет? Если поддерживает, то что нужно активировать?
...
Рейтинг: 0 / 0
XML документ и автоматическая конвертация управляющих символов
    #39745546
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну если нужно обрабатывать вообще любые символы, даже непечатаемые, то есть еще опции
- Перегонять в base64
- Сохранять как есть в CDATA секции

А нормальный движок - это тот, который умеет сам обращаться с подстановками спецсимволов. Умеет ли MSXML - хз. Есть вероятность, что только на чтение
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / XML документ и автоматическая конвертация управляющих символов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]