用javascript遍历XMPP iq节
我设法从prosody XMPP服务器获得了响应。因此,我得到了我的名册查询iq节用javascript遍历XMPP iq节,javascript,jquery,jquery-mobile,xmpp,Javascript,Jquery,Jquery Mobile,Xmpp,我设法从prosody XMPP服务器获得了响应。因此,我得到了我的名册查询iq节 <iq xmlns="jabber:client" id="1:sendIQ" type="result" to="server@localhost/c38649b9-b47f-46b9-bcbc-7f0f683408f1"> <query xmlns="jabber:iq:roster" ver="41"> <item jid="sam@internal" subscr
<iq xmlns="jabber:client" id="1:sendIQ" type="result" to="server@localhost/c38649b9-b47f-46b9-bcbc-7f0f683408f1">
<query xmlns="jabber:iq:roster" ver="41">
<item jid="sam@internal" subscription="none"/>
<item jid="test@example.com" subscription="none"/>
<item jid="blade@internal" subscription="none"/>
</query>
</iq>
我想从item标签中获取JID的值。例如,sam@internal从项目标签中
到目前为止,我使用下面的javascript代码成功地访问了item标记。但我想转到“jid”
$(iq).find(“query”).children().each(函数)(){
警报(this.nodeName+'='+$(this.text());
});代码>
以下是在JSFIDLE上运行的代码:
任何帮助都将不胜感激!!提前感谢。以下是尝试失败后的答案
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'));
}
x=iq.getElementsByTagName('item');
对于(i=0;i您确定jQuery代码有效吗?我可以看出它有两个问题。$(iq)
应该是$('iq')
,并且在该节中找不到“list”元素。@Andy我确定它有效,因为我更改了输入错误(query而不是list)。获取这些值。但我想从item节点获取JID的值。item=item=item=