2012-02-06 78 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>