我有一个XMPP的Objective-c实现,我正在尝试搜索用户。我使用可预测的JID命名系统,其中用户JID由语法'fbFACEBOOK_ID'组成。
我最初尝试直接查询以查找匹配的JID,但发现XMPP似乎不支持,所以相反,我让用户在他们的电子邮件字段中设置了他们的JID。
以下XML IQ在仅输入查询时正常工作,但在有多个查询时无法获得任何结果。这不是一次搜索多个术语的正确语法吗?
<iq type="set" from="hag66@shakespeare.lit/pda" to="search.shakespeare.lit" id="search2" xml:lang="en">
<query xmlns="jabber:iq:search"><email>*fb000000001*</email></query>
<query xmlns="jabber:iq:search"><email>*fb000000002*</email></query>
<query xmlns="jabber:iq:search"><email>*fb000000003*</email></query>
<query xmlns="jabber:iq:search"><email>*fb000000004*</email></query>
<query xmlns="jabber:iq:search"><email>*fb000000005*</email></query>
</iq>
另请参阅:XMPP Query Group Chat (MUC) directory using search term
编辑:我尝试过使用一个查询和多个电子邮件元素而没有运气 编辑2:那么,这似乎不可能?答案 0 :(得分:0)
<iq>
元素必须只有一个子元素,因此不起作用。 XEP 55: Jabber Search没有定义任何专门搜索多个术语的方法,所以看起来你运气不好。
答案 1 :(得分:-1)
不是在不同的查询中编写,而是在单个查询标记中尝试。它对我有用。
<query xmlns="jabber:iq:search">
<email>abc@gmail.com</email>
<email>bbc@gmail.com</email>
</query>