| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > TXMLDocument - маскировка символов |
| Автор: v258 29.5.2018, 23:59 |
| Моя прога обрабатывает файл sitemap.xml. По спецификации некоторые символы, а именно: амперсанд (&), угловые скобки(<,>), апостроф(') и двойные кавычки(") в URL должны маскироваться. Проблема в следующем: Для обработки использую TXMLDocument, DOMVendor - MSXML. Амперсанд и угловые скобки при добавлении URL маскируются автоматически, а вот апостроф и кавычки - нет. Если маскировать их вручную, то вместо " получается &quot; , а вместо ' получается &apos; , т.е. амперсанд вполне ожидаемо тоже маскируется, что для наших целей категорически недопустимо. И, даже если готовый файл открыть в блокноте и вручную заменить кавычки и апострофы масками, при загрузке файла маски автоматически преобразуются опять таки в кавычки и апострофы. Собственно, вопрос - как заставить XMLDocument либо маскировать и кавычки с апострофом, либо запретить маскировку символов вообще, чтобы можно было делать ее вручную при добавлении URL? Delphi 2010 |
| Автор: Hiori 4.7.2018, 08:43 |
| поздно конечно, но... StringReplace уже не? заменить то, что неправильно меняет TXMLDocument, и передать в класс уже правленую строку. |