如何将cdata从xml转换为html

发布于 2024-12-25 17:09:12 字数 1125 浏览 1 评论 0原文

我通过 AJAX 接收 XML 数据,并且 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 标签处使用带有右侧的 img 标签 class="current-img" src

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

现在我从数据创建了一个 jQuery 对象,并尝试使用 .text() 获取数据,但是如何才能获得特殊数据

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()

I'm receiving XML data via AJAX and the XML includes some CDATA values.

Example:

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

and I like to have for the ... at the div-tag with class="title" the content from the b-tag and at the div-tag class="current-img" an img-tag with the right src

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

for now I created a jQuery Object from the data and tried to get with .text() the data but how can I get a special data just the <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()

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

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

发布评论

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

评论(1

临走之时 2025-01-01 17:09:12

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

我遇到了同样的问题,只需发送带有 xml 答案的正确标头 (text/xml) 即可解决该问题。
现在 .text() 返回 CDATA 标记之间正确的 html 内容。

看起来它取决于正确的内容类型。

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

I had the same problem, and solved it just by sending the right header (text/xml) with the xml answer.
Now .text() returns the right html content between the CDATA tags.

It looks like it depends on correct content type.

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