Показать сообщение отдельно
  #1  
Старый 29.05.2018, 22:35
v258 v258 вне форума
Прохожий
 
Регистрация: 29.05.2018
Сообщения: 2
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию TXMLDocument - маскировка символов

Моя прога обрабатывает файл sitemap.xml. По спецификации некоторые символы, а именно: амперсанд (&), угловые скобки(<,>), апостроф(') и двойные кавычки(") в URL должны маскироваться. Проблема в следующем:

Для обработки использую TXMLDocument, DOMVendor - MSXML. Амперсанд и угловые скобки при добавлении URL маскируются автоматически, а вот апостроф и кавычки - нет. Если маскировать их вручную, то вместо &quot; получается &amp;quot; , а вместо &apos; получается &amp;apos; , т.е. амперсанд вполне ожидаемо тоже маскируется, что для наших целей категорически недопустимо. И, даже если готовый файл открыть в блокноте и вручную заменить кавычки и апострофы масками, при загрузке файла маски автоматически преобразуются опять таки в кавычки и апострофы.

Собственно, вопрос - как заставить XMLDocument либо маскировать и кавычки с апострофом, либо запретить маскировку символов вообще, чтобы можно было делать ее вручную при добавлении URL?

Delphi 2010
Ответить с цитированием