Как конвертировать CDATA из XML в HTML - PullRequest
0 голосов
/ 09 января 2012

Я получаю данные XML через AJAX, и XML включает в себя некоторые значения CDATA.

Пример:

<xml>
      <mytag>
            <![CDATA[
                <img src="http://l.yimg.com/a/i/us/we/52/14.gif"/><br />
                <b>Current Conditions:</b><br />
            ]]>
      </mytag>
</xml>

, и я хотел бы получить для ... на div-тег с class = "title" содержимым из b-тега, а в div-теге class = "current-img" img-тегом с правильным src

<html>
      <body>
            <div class="weather">
                <div class="title">...</div>
                <div class="current-img">...</div>
            </div
      </body>
</html>

на данный момент я создал jQueryОбъект из данных и пытался получить с помощью .text () данных, но как я могу получить специальные данные только <img src="..."/>

var $weather = $(".weather");
$.ajax({
   url: "yahooweather.php?w=782458",
   context: document.body,
   success: function(data){
        $xml = $(data).find("xml mytag");

            $weather.find(".title").html($xml.children("b")); //this isnt working!


   var str = $xml.text()

1 Ответ

0 голосов
/ 09 января 2012

http://forum.jquery.com/topic/how-to-convert-xml-with-cdata-to-html-and-back-again#14737000002282604

У меня была такая же проблема, и я решил ее, просто отправив правильный заголовок (text / xml) с ответом xml.Теперь .text () возвращает правильный HTML-контент между тегами CDATA.

Похоже, это зависит от правильного типа контента.

...