2013-07-15 41 views
0
<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> 
<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標籤的div,我想從xml加載文本! 我試過了,在這裏搜索,但發現第n個適合我的情況! xml文件和javascript怎麼樣?如何從xml文檔加載文本內容到div /段

<?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()); 
     }); 
    } 
}); 
+0

http://stackoverflow.com/questions/16417211/load-xml-file-content-into-div-using-jquery 這看起來像你想要什麼。作爲第一個結果,快速谷歌搜索將其拉高。 – Th3BFG

+0

是的,試過那個!但是......我做錯了.. – Arni

回答

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()); 
     }); 
    } 
}); 
+0

沒有足夠的代表來評論原始問題 - 你確定你的XML文件在你的目錄的根目錄下(所以URL是正確的)?另外,你能告訴我們實際的XML是什麼樣子嗎?你看到任何錯誤? – digiliooo

+0

<?xml version =「1.0」encoding =「utf-8」?> 東西有點這就是xml在這一刻,url是正確的! – Arni

+0

$ xml.find('news1')--->我編輯了當然的URL和代碼。 – Arni

0

建立從xml <p>一個html <p>元素,然後將其附加到您的股利。

$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/