如何发布和解析pubsub的自定义有效载荷xmpp smack库

如何发布和解析pubsub的自定义有效载荷xmpp smack库

问题描述:

这个问题之前询问herehere但我没有从那里得到答案。 我正在开发应用程序,其中我使用pubsub和xmpp,对于android我正在使用smack库。我想发送自定义有效载荷到节点和接收自定义有效载荷如何解析并显示在列表中?现在我能够发送和接收消息,但这只是文档的一个小例子。这里是我的榜样,如何发布和解析pubsub的自定义有效载荷xmpp smack库

String msg = "room pubsub test"; 

SimplePayload payload = new SimplePayload("message", "pubsub:test:message", "<message xmlns='pubsub:test:message'><body>" + msg + "</body></message>"); 

PayloadItem<SimplePayload> item = new PayloadItem<>(null, payload); 

node.publish(item); 

,当我收到项目

node.addItemEventListener(new ItemEventListener() { 
      @Override 
      public void handlePublishedItems(ItemPublishEvent items) { 
        System.out.println("======================handlePublishedItems=============================="); 
        System.out.println(items.getItems()); 
      } 
} 

和我得到的输出是

[org.jivesoftware.smackx.pubsub.PayloadItem | 
Content [<item id='5E277A9C33A58'> 
<message xmlns='pubsub:test:message'> 
<body xmlns='pubsub:test:message'>room pubsub test</body>< 
/message> 
</item>]] 

我想发送自定义负载的时间等,在这消息已发送,谁发送了此消息等。 那么,我如何发送自定义有效载荷?以及如何解析并显示给用户?使用下面的代码时间和发件人

发送自定义负载:

SimplePayload payload = new SimplePayload("message", "pubsub:test:message", "<message xmlns='pubsub:test:message'><body>" + textMessage + "</body><from>"+Sender+"</from><time>"+time+"</time></message>"); 

为了解析您可以使用XmlPullParser和使用标签名称解析响应

+0

你能不能给我举例XmlPullParser和使用标签名称解析响应? – gaurang

+0

@gaurang你可以参考这个链接进行分析[链接] https://github.com/42cc/p2psafety/blob/master/p2psafety-android/p2psafety/src/ua/p2psafety/services/XmppService.java –

+0

好吧,我会检查并回复你。 – gaurang