使用 JavaScript/jQuery 从 XML 获取 HTML

发布于 2024-10-17 06:53:01 字数 661 浏览 5 评论 0原文

我有一个 XML 文档,其中包含一个具有格式良好的 HTML 内容的标记。我需要使用 JavaScript 将该 HTML 放入我的页面中。但是,由于 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。不幸的是,jQuery 的 .html() 方法不适用于 XML。

还有其他办法吗?提前致谢。

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 < ; > ;

<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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深海夜未眠 2024-10-24 06:53:01

不太干净,但是您不能使用本示例中找到的JQuery 对象来Sring 并做类似的事情...
var myHTML = $('

').append($(menuArray[n]).find('content').clone()).remove().html();

我知道很丑,但应该可以用

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

你是年少的欢喜 2024-10-24 06:53:01

@Sam Nicholson 给了我们一个好主意。我使用了一段时间,但现在我通过另一种方式解决了我的问题。

通过将 AJAX 属性 'dataType' 设置为 'html' 并强制服务器响应为 text/html 而不是 text/xml 。 jQuery 将允许您使用 .html() 来操作从服务器发送的 XML 树的节点

@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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文