Избежать апостроф из XML привязки данных - PullRequest
5 голосов
/ 09 декабря 2010

У меня есть строка из xml с апострофом, которая должна быть экранирована до ', и это не так.

<city place="park's place"/>

В html я получаю значение.

<span datafld="place"></span>

Мне нужно, чтобы значение было "парком &apos; с местом", а не парком. В настоящее время он показывает "место парка".

Я потратил много времени, пытаясь найти ответ, и, похоже, не могу его найти.

Этот пример кода сильно взломан, так как мне не разрешено показывать какой-либо оригинальный код.

Спасибо.

Редактировать: Это на странице HTML, используя JavaScript.

1 Ответ

3 голосов
/ 10 декабря 2010

В XML-модели данных все значения не экранированы. Итак, был ли ваш атрибут указан как:

place="park's place"

или

place="park&apos;s place"

или

place="park&#39;s place"

когда вы используете парсер XML (или DOM), вы получите "место парка". (Такие вещи, как «innerHTML», являются исключением из этого общего правила.)

Если вам нужно сравнить это с какой-то другой строкой, которая имеет другой уровень экранирования, то вам нужно либо экранировать строку, полученную из DOM, либо вы должны удалить другую строку. Это очень похоже на то, как если бы вы собирались сравнить измерение в метрах с одним в футах: вам нужно преобразовать в общую единицу измерения / уровень экранирования.

Я бы пошел с эскалацией, если вы можете. Если это невозможно, вам нужно убедиться, что вы убегаете последовательным образом везде , что может быть сложно. Обратите внимание, что я показал вам три различных способа легального экранирования этой конкретной строки - и есть еще много других.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...