Получение HTML из XML с помощью JavaScript / jQuery - PullRequest
2 голосов
/ 13 февраля 2011

У меня есть XML-документ, который содержит тег с правильно сформированным HTML-содержимым.Мне нужно вставить этот HTML на мою страницу, используя JavaScript.Однако из-за проблем CMS HTML НЕ МОЖЕТ быть экранирован с помощью <! [CDATA []]> или чего-либо еще, и должен присутствовать <>, не закодированный в <;>;

<submenu>
    <content>
        <div>
            <h3>Hello World</h3>
            <p>Lorem <a href="ipsum.html">ipsum</a></p>
        </div>
    </content>
</submenu>

Я использовал jQuery, чтобы получить XML и поместить подменю в массив.Я могу получить текст с:

$(menuArray[n]).find('content').text();

Однако, это просто возвращает «Hello World Lorem ipsum».Мне нужен HTML.К сожалению, метод jQuerys .html () не работает с XML.

Есть ли другой способ?Заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 13 февраля 2011

Не слишком clean , но не могли бы вы использовать что-то вроде найденного в этом примере Объект JQuery для Sring и делать что-то вроде ... var myHTML = $('<div>').append($(menuArray[n]).find('content').clone()).remove().html();

УродливоЯ знаю, но должно работать

0 голосов
/ 04 декабря 2012

@ Сэм Николсон дал нам хорошую идею.Я использовал его некоторое время, но теперь я решил свою проблему другим способом.

Установив свойство AJAX 'dataType' в 'html' и принудительно установив серверответом будет text / html , а не text / xml .jQuery позволит вам использовать .html () для манипулирования узлами вашего дерева XML, отправленными с вашего сервера

...