Разобрать фрагмент HTML с помощью nbsp в MSXML

Я пытаюсь загрузить фрагмент HTML в DOMDocument MSXML. Указанный фрагмент является допустимым XML с одним исключением — он имеет   объектов. MSXML задыхается от них, утверждает: «Ссылка на неопределенный объект« nbsp ».».

Могу ли я заставить MSXML как-то распознать его как действительный?


person Seva Alekseyev    schedule 28.02.2013    source источник


Ответы (1)


Простое решение: просто запустите замену текста "" на " " перед разбором документа. Что должно сработать, так как в тексте не может быть дословного, который не следует заменять.

Более стандартное решение: объявить nbsp; сущность в xml, вставив

<!DOCTYPE foobar [
   <!ENTITY nbsp " " >
]>

перед корневым узлом xml.

Вы также можете использовать «0xA0» и  , если вам действительно нужен неразрывный пробел вместо обычного пробела.

person BeniBela    schedule 28.02.2013
comment
Остановился на первом варианте. Ну что ж. Я надеялся, что можно загрузить эти файлы без их изменения - думаю, нет. - person Seva Alekseyev; 01.03.2013