Python-XMPP - 遍历IQ信令项

0 投票
1 回答
581 浏览
提问于 2025-04-17 14:29

我正在使用python-xmpp来连接gtalk。我可以接收到回复,也能给特定的用户或邮箱发送和接收消息。现在我想找个办法,遍历IQ项目,这样我就能获取每个项目的jidname属性。

<iq to="example@gmail.com/test" id="3" type="result">
<query xmlns="jabber:iq:roster">
<item jid="test2@example.com" subscription="both" name="ABCD"/>
<item jid="test2@example.com" subscription="both" name="EFGH"/>
.
.
</query>
</iq>

我还想在收到<presence>信息时更新用户状态。我猜我应该使用一个回调函数,就像我现在用来处理接收消息的那样。

1 个回答

0

我发现这个节点可以被解析成任何xml格式。这就是解决我问题的方法:

query_node=iq_node.getQueryChildren()
for node in query_node:
    print node.getAttr("name")

iq_node 是一个 xmpp.protocol.Iq 对象,而每个 node 是一个 xmpp.simplexml.Node 对象。

撰写回答