开发者

Getting HTML from XML with JavaScript/jQuery

I'开发者_运维问答ve got an XML document that contains a tag that has well-formed HTML content. I need to get that HTML into my page using JavaScript. However, due to CMS issues, the HTML CANNOT be escaped with < ![CDATA[ ]]> or anything else, and the <> must be present, not encoded to &lt ; &gt ;

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

I've used jQuery to get the XML and put the submenu's into an array. I'm able to get the text with:

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

However, this just returns "Hello World Lorem ipsum". I need the HTML. Unfortunately jQuerys' .html() method doesn't work with XML.

Is there any other way? Thanks in advance.


Not overly clean but could you not use something like found in this example JQuery Object to Sring and do something like... var myHTML = $('<div>').append($(menuArray[n]).find('content').clone()).remove().html();

Ugly I know but should work


@Sam Nicholson gave us a good idea. I used it for a while, but now i solved my problem through another way.

By setting AJAX property 'dataType' to 'html' and forcing the server response to be text/html rather than text/xml. jQuery will let you use .html() to manipulate the nodes of your XML tree sent from your server

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜