2013-02-18 60 views
1

我正在嘗試讀取XML元素而不使用元素名稱,即以下示例中的「Books」。例如,如何在HTML中使用jQuery讀取XML元素

<Books> 
      <book> 
       <title>C++</title> 
       <author>A</author> 
      </book> 
      <book> 
       <title>XML</title> 
       <author>X</author> 
      </book> 
    </Books> 

換句話說如何動態地看「書」元和在HTML中使用jquery兒童元素分配給數組。任何幫助,將不勝感激。

+0

你有試過什麼嗎? – Jai 2013-02-18 17:39:03

+0

你看過嗎:http://api.jquery.com/jQuery.parseXML/? – 2013-02-18 17:40:08

+0

Hello Lakhae,試試這個http://killertilapia.blogspot.in/2011/03/using-jquery-to-read-external-xml-file.html – 2013-02-18 17:41:48

回答

0

謝謝大家。我發現我的解決方案

var xml = "<root><stuff></stuff><stuff><stuffchild></stuffchild></stuff></root>"; 

function alertit(jqueryObject) { 
    if (jqueryObject.length === 0) return; 

    jqueryObject.each(function() { 
     alert(this.nodeName.toLowerCase()); 
    }); 

    alertit(jqueryObject.children()); 
} 

alertit($(xml)); 

http://jsfiddle.net/TBwm8/3/ 

謝謝。

1

我爲你寫了簡單的HTML。 Demo at http://jsfiddle.net/UC2dM/185/

$.ajax({ 
    url:'/echo/xml/', 
    data: {xml:'<Books><book><title>C++</title><author>A</author> </book><book><title>XML</title><author>X</author></book></Books>'}, 
    dataType: 'xml', 
    type:'post', 
    success: function(data){ 
     var xml = $(data); 
     $('#container').append(CategoryToUl(xml.children())); 
    } 
}); 

function CategoryToUl(xml){ 
    var categories = xml.children('book'); 
    if (categories.length > 0) 
    { 
     var ul = $('<ul/>'); 
     categories.each(function(){ 
      var $this = $(this); 
      var li = $('<li/>'); 
      var a = $('<a/>',{ 
       text: $this.children('title').text() 
      }); 
      li.append(a); 
      li.append(CategoryToUl($this)); 
      ul.append(li); 
     }); 
     return ul; 
    } 
    return null; 
} 
+0

謝謝,但這不是我正在尋找的。 – Lakhae 2013-02-18 18:17:14