チュートリアルの後にXMPPとJava(私はiOS開発者です)に新しいので、サーバコンポーネント(Openfire)とクライアントiOSアプリケーション(robbiehansonのios xmppframeowrkを使用)を書きました。私はコンポーネント< - > iOSクライアントとの間でメッセージを送受信できました。パケット内のgetChildElementのOpenFire XMPPコンポーネントの名前空間
サーバーコンポーネントにiOSclientアプリから存在を送信::
XMPPPresence *presence = [XMPPPresence presence];
[presence addAttributeWithName:@"to" stringValue:serverComponentJid];
NSXMLElement *someInfo = [NSXMLElement elementWithName:@"someInfo"
stringValue:@"xyz"];
[presence addChild:someInfo];
[_xmppStream sendElement:presence];
サーバーコンポーネントにパケットを受信:
if (packet instanceof Presence){
org.xmpp.packet.Presence recvPresence = (Presence) packet;
Element theInfo = recvPresence.getChildElement("someInfo", "***what_shoud_be_the_namespace_here***");
System.out.println("Some info in the presence as " + theInfo.attributeValue("someInfo"));
私はパケットを印刷しsomeInfoを見ることができますここで抽象コードです。ネームスペースに ""合格すると、理解できる正しいものを得ることができます。しかし、私はまだxmppで名前空間を使う方法とその使い方を理解していません。
UPDATE:質問を編集。空の文字列を送信すると、子要素を取得できます。のような要素theInfo = recvPresence.getChildElement( "someInfo"、 "");.しかし、私はまだxmpp名前空間を理解するための情報が必要です。任意のref ..リンクなど – SaffronState