2013-10-31 52 views
0

我的XML看起來像這樣:jQuery的:閱讀或解析XML

<Container> 
<name>x</name> 
<id>2</id> 
</Container> 

準確的說,這是鑑於我的XML結果來源: xml result

我jQuery代碼:

$.ajax({ 
         type: "post", 
         url: "somefile.jsp", 
         dataType: "xml", 
         success: function(xml) { 


          alert("123:"+xml+":321"); 


          }, 
         error: function(httpRequest, textStatus, errorThrown) { 
         alert("status=" + textStatus + ",error=" + errorThrown); 

         } 
         }); 

問題:如何從jquery中讀取它並將名稱和ID分配給變量?
問題:警報返回我的XML文檔對象

+0

'var $ xml = $(xml)'現在使用'$ xml'來代替普通的jQuery對象 – megawac

+0

變量名稱和ID分配如何? – Teddybugs

+0

我會寫一個答案 – megawac

回答

1

設置dataType酒店爲jQuery導致使用xml文檔調用回調函數success。現在只是jQuery把這個包:

success: function(xml) { 
    var $xml = $(xml); 
    var name = $xml.find('name').text(); 
    var id = $xml.find('id').text(); 
    alert("123:"+ id + " " + name +":321"); //alerts "123: 2 x:321") 
} 
+0

我複製完全你的代碼,我看到id和名稱是空的, – Teddybugs

+0

提醒顯示: 123::321 – Teddybugs

+0

我在查看源添加了我的xml結果的圖片,它有空行和換行符。 – Teddybugs

2

由於數據類型爲XML,成功回調得到一個XML文檔作爲結果,爲了使用jQuery查找元素,你需要使用創建一個jQuery包裝$(xml)那麼你就可以在新的對象上使用jQuery方法如下圖所示

var $xml = $(xml) 
alert("123:"+$xml.find('name').text()+":321"); 

演示:Fiddle

+0

不工作,我沒有看到任何提醒 – Teddybugs

+0

@David看到提琴 –

+0

我添加了我的xml結果的圖片在我的問題來看,它有空行和換行符。 – Teddybugs

0

試試這個:VAR容器= $ xml.find( 「容器」)文本(); 如果var容器包含整個xml,那麼你可以進一步找到你想要的元素。