2012-02-06 80 views
0

我有一个XMPP的客观C实现,我试图搜索用户。我使用可预测的JID命名系统,其中用户JID由语法'fbFACEBOOK_ID'形成。搜索XMPP服务器电子邮件的正确语法?

我试着开始直接查询来寻找匹配的JID却发现XMPP似乎不支持,所以相反,我有用户设置自己的JID在电子邮件领域。

以下XML智商正常工作时,只有查询中输入,但没有得到任何结果时,有多个查询。这不是一次搜索多个术语的正确语法吗?

<iq type="set" from="[email protected]/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

编辑:我一直在使用一个查询和多个电子邮件元素,而不是与没有运气
EDIT2尝试:那么,它似乎并不像这可能吗?

回答

0

<iq> elements 必须必须有且只有一个子元素,所以这是行不通的。 XEP 55: Jabber Search没有定义任何方式专门搜索多个术语,所以看起来你运气不好。

+0

所以,你说,如果我想查询数百个用户ID的比赛,我要送上百奇异的请求? – Andrew 2012-02-09 14:12:08

+0

如果您想查询数百个用户ID,这可能不是实现它的方法。 – Zash 2012-03-02 18:48:35

+0

那我该怎么做呢? :) – Andrew 2012-03-05 10:51:25

-1

而不是写入不同的查询,尝试在一个单一的查询标记。它为我工作。

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

    <email>[email protected]</email> 
    <email>[email protected]</email> 

</query>