|
Модераторы: Poseidon, Snowy, bems, MetalFan |
|
v258 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 93 Регистрация: 19.7.2005 Где: Краснодарский кра й Репутация: 2 Всего: 2 |
Моя прога обрабатывает файл sitemap.xml. По спецификации некоторые символы, а именно: амперсанд (&), угловые скобки(<,>), апостроф(') и двойные кавычки(") в URL должны маскироваться. Проблема в следующем:
Для обработки использую TXMLDocument, DOMVendor - MSXML. Амперсанд и угловые скобки при добавлении URL маскируются автоматически, а вот апостроф и кавычки - нет. Если маскировать их вручную, то вместо " получается &quot; , а вместо ' получается &apos; , т.е. амперсанд вполне ожидаемо тоже маскируется, что для наших целей категорически недопустимо. И, даже если готовый файл открыть в блокноте и вручную заменить кавычки и апострофы масками, при загрузке файла маски автоматически преобразуются опять таки в кавычки и апострофы. Собственно, вопрос - как заставить XMLDocument либо маскировать и кавычки с апострофом, либо запретить маскировку символов вообще, чтобы можно было делать ее вручную при добавлении URL? Delphi 2010 |
|||
|
||||
Hiori |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 51 Регистрация: 29.3.2016 Репутация: нет Всего: нет |
поздно конечно, но... StringReplace уже не? заменить то, что неправильно меняет TXMLDocument, и передать в класс уже правленую строку.
|
|||
|
||||
v258 |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 93 Регистрация: 19.7.2005 Где: Краснодарский кра й Репутация: 2 Всего: 2 |
Это слишком просто На самом деле так и делал, но... класс тут же преобразовывает маскированные апострофы и кавычки обратно. И при загрузке файла поступает точно так же. Проблему решил на стадии сохранения - сохраняю не в файл, а в XML-строку, прогоняю ее на предмет маскировки символов и сохраняю самостоятельно |
|||
|
||||
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |