-1

我有一个 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 查询群聊 (MUC) 目录

编辑:我尝试使用一个查询和多个电子邮件元素,但没有运气
EDIT2:所以,这似乎不可能?

4

2 回答 2

0

<iq>元素必须有一个且只有一个子元素,这样就行不通了。XEP 55:Jabber Search没有定义任何专门搜索多个术语的方法,因此您似乎不走运。

于 2012-02-09T13:51:30.570 回答
-1

不要在不同的查询中编写,而是在单个查询标签中尝试。它对我有用。

 <query xmlns="jabber:iq:search">

     <email>abc@gmail.com</email>
     <email>bbc@gmail.com</email>

 </query>

于 2013-09-19T16:15:03.763 回答