2015-02-05 67 views
0

我設法從韻律XMPP服務器獲得響應。結果,我得到了我的名冊查詢的iq節。在javascript中遍歷XMPP智商節

<iq xmlns="jabber:client" id="1:sendIQ" type="result" to="[email protected]/c38649b9-b47f-46b9-bcbc-7f0f683408f1"> 
    <query xmlns="jabber:iq:roster" ver="41"> 
    <item jid="[email protected]" subscription="none"/> 
    <item jid="[email protected]" subscription="none"/> 
    <item jid="[email protected]" subscription="none"/> 
    </query> 
</iq> 

我想從項目標記中獲取JID的值。例如,來自item標籤的sam @ internal。

到目前爲止,我通過使用下面的JavaScript代碼成功地達到了item標籤。但我想遍歷「jid」。

$(iq).find("query").children().each(function() { alert(this.nodeName + ' = ' + $(this).text()); });

這裏是的jsfiddle運行代碼:http://jsfiddle.net/ritter17/ec272rux/

任何幫助,將不勝感激!提前致謝。

+0

你確定jQuery代碼有效嗎?我可以看到兩件事情是錯的。 '$(iq)'應該是'$('iq')',並且在該節中找不到「list」元素。 – Andy 2015-02-05 13:38:13

+0

@Andy我確定它正在工作,因爲我改變了錯字錯誤(查詢而不是列表)。獲取這些值。但我想從item節點獲取JID的值。 item = item = item = – 2015-02-05 13:46:13

回答

0

下面是不成功的嘗試後的答案。

x=iq.getElementsByTagName('item'); 

     for (i=0;i<x.length;i++) 
     { 
      $("#msgs").prepend("<p><strong>" + "server" + "</strong>: " + x[i].getAttribute('jid') + "</p>"); 
      console.log(x[i].getAttribute('jid')); 
     }