【发布时间】:2018-02-25 23:42:23
【问题描述】:
谁能帮我看看如何解析这个 Event pub 元素并获取以下 Packet 的 Message 对象。也许我的关键字/搜索词谷歌搜索不正确,但在查找有关此的文档或教程时我找不到任何有用的东西。
我已经阅读了有关 PacketParserUtils 和 XmlPullParser 的一些内容并尝试实现它,但我一直在获取 null。
代码
EventElement event = groupMessage.getExtension("event", "http://jabber.org/protocol/pubsub#event");
try {
XmlPullParser parser = PacketParserUtils.newXmppParser();
Log.d(TAG, "processStanza event: "+ event.toXML().toString());
parser.setInput(new StringReader(event.toXML().toString()));
Item items = (Item) parser.getProperty("items");
Log.d(TAG, "processStanza: " + items);
} catch (XmlPullParserException e) {
e.printStackTrace();
}
<message to='+60174443333@crystal.domain.com/Resource' from='9176d3d3-e893-4add-91a1-82b42338c223@group.crystal.domain.com'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='urn:xmpp:mucsub:nodes:messages'>
<item id='17100773132085304799'>
<message xmlns='jabber:client' lang='en' to='+60174443333@crystal.domain.com' from='9176d3d3-e893-4add-91a1-82b42338c223@group.crystal.domain.com/+60149711089@crystal.domain.com' type='groupchat' id='21D85845-8434-4E0B-BB0C-5768256C5B66'>
<body xmlns='jabber:client'>This is the message</body>
</message>
</item>
</items>
</event>
</message>
【问题讨论】:
-
你找到答案了吗?