gpt4 book ai didi

javascript - 在javascript中遍历xmpp iq节

转载 作者:行者123 更新时间:2023-11-30 18:29:08 24 4
gpt4 key购买 nike

我设法发送 IQ 并从 openfire 服务器获得响应。

现在我无法出于我的目的遍历响应:

有一个“find”方法可以搜索“list”、“other1”等节点,但我需要遍历“list”中包含的所有类型的节点。 IQ 响应如下所示:

 <iq type="get" id="sid_225">
<list xmlns="urn:xmpp:archive" end="2012-04-30T22:00:00Z" start="2012-03-31T22:00:00Z">
<set xmlns="http://jabber.org/protocol/rsm">
<max>30</max>
</set>
<other1> asdf </other1>
<othern> aasdf </othern>
</list>
</iq>

我需要“列表”的所有节点类型。我到目前为止:

$(iq).find("list").children().each(function () {
alert($(this).text());
}

但这给了我来自不同类型节点(如“other1”和“othern”)的文本,如“asdf”。我怎样才能得到节点的类型(即“set”,“other1”)?我也尝试了 $(this).val()) 但它也不起作用。

请帮忙....

谢谢!

最佳答案

您可以获得循环内每个元素的 nodeName:

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

对于数组/对象中的每个索引,您可以像上面那样在循环内访问这些变量。

这是一个演示:http://jsfiddle.net/7AKL6/2/

.each() 的文档:http://api.jquery.com/each/

Node.nodeName 的文档:https://developer.mozilla.org/en/Document_Object_Model_(DOM)/Node.nodeName

另请注意,您的 XML 示例中有一个错误:

<other1> asdf </other>

应该是:

<other1> asdf </other1>

正确关闭自身。

关于javascript - 在javascript中遍历xmpp iq节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10131958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com