【问题标题】:How to read custom attributes added in message tag of xmpp in android?如何读取android中xmpp消息标签中添加的自定义属性?
【发布时间】:2014-10-24 06:29:44
【问题描述】:

正在发送的XMPP 消息在消息标签中添加了一些自定义属性,例如:

<message to = " asdf" from = "asdf" type = "chat" id="adsf" direction = "asdf" speed = "asdf">
<body>Speed</body>
</message>

正在发送的消息一切正常。但是在接收端,我不知道如何读取这些额外的属性,即 direction and speed 添加到消息标签中。我尝试制作自定义 PacketListener 但为此我需要更改整个 smack 库 bcz 每个类都连接到其他类。

【问题讨论】:

标签: android xml-parsing xmpp smack


【解决方案1】:

你不能。

永远不要向指定的流元素属性添加自定义值(例如,消息的 type 属性的新值),并且永远不要向顶级元素添加新属性(就像您对 msgTypemsgTimeStamp 和等等)。

这有可能破坏事物!不要这样做。另见"XEP-0134: XMPP Design Guidelines § 2.1 XMPP is Sacred"。这就是为什么在 Smack 中不可能。相反,使用自定义扩展元素,就像他的示例中显示的 xnyhps(data 元素)。另请参阅 "RFC 6120 § 8.4 Extended Content" 在 Smack 中称为 PacketExtension

另请参阅this answer 和问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2012-09-10
    • 2012-04-07
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多