Python-XMPP - 遍历IQ信令项
我正在使用python-xmpp来连接gtalk。我可以接收到回复,也能给特定的用户或邮箱发送和接收消息。现在我想找个办法,遍历IQ
项目,这样我就能获取每个项目的jid
和name
属性。
<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
对象。