2010-12-09 3 views
4

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

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

В html Я захватываю значение.

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

мне нужно значение в месте, чтобы быть «Парк &apos; сек место», а не место парка. В настоящее время он показывает «место парка».

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

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

Спасибо.

Редактировать: Это на странице xhtml с помощью javascript.

+1

Вы не говорите нам ничего о том, какой язык, платформу или API вы используете. Я даже не знаю, в чем проблема. – 2010-12-09 21:04:06

+0

Зачем ему бежать? Это даст точно такие же данные, но с 5 дополнительными байтами и меньшей удобочитаемостью. – Quentin 2010-12-09 21:14:21

ответ

2

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

place="park's place" 

или:

place="park&apos;s place" 

или:

place="park&#39;s place" 

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

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

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

Смежные вопросы