如何将文本内容从xml文档加载到div / paragraph中

时间:2013-07-15 21:34:04

标签: jquery html xml

<div class="news"><a href="subsides/news.php">
              <p id="p1">Text comes here</p>
              <p id="p2">Another text comes here</p>
              <p id="p3">...</p>
              <p id="p4">...</p></a></div>

如上所述,我有一个带有四个p-tag的div,我想从xml加载文本! 我试着在这里搜索,但发现第n个适合我的情况! xml文件和javascript怎么样?

<?xml version="1.0" encoding="utf-8"?>
  <news name = "one">
              <p id="p1">bla bla bla</p>
              <p id="p2">bla bla bla</p>`
</news>

和javascript:

$.ajax({
    url: "news.xml",
type: "GET",

    dataType: "xml",
    success: function (xml) {
        var xmlDoc = $.parseXML(xml),
            $xml = $(xmlDoc);
        $xml.find('news[name="one"]').each(function () {
            $(".news").append($(this).text());
        });
    }
});

2 个答案:

答案 0 :(得分:0)

您可以使用jQuery Ajax来获取XML数据...如果成功解析结果并搜索结果以查找包含所需文本的节点。如果找到节点,请将其文本附加到相应的段落

$.ajax({
    type: "GET",
    url: "docName.xml",
    dataType: "xml",
    success: function (result) {

        var xml = $.parseXML(result),
            $xml = $(xml);

        // Find the node that you want to add to your first paragraph
        // Depending on your situation, you may have to repeat for each paragraph

        $xml.find('xml node you want').each( function() {
            $('#p1').append( $(this).text() );
        });
    }
});

答案 1 :(得分:0)

html <p>创建一个xml <p>元素,然后将其附加到您的div。

$xml.find('news[name="one"] p').each(function () {
    var $p = $("<p>").html($(this).text());
    var id = $(this).attr("id");
    $p.attr("id", id);
    $(".news").append($p);
});

显然,两个<p>不一样,浏览器会以不同方式呈现。

jsFiddle http://jsfiddle.net/exReT/