我遇到了缺少XML节中的属性的问题。根据服务器端的日志文件,我可以确认该属性是从客户端发送到服务器的。此外,当服务器将XML节传递给收件人时,该属性也存在(仍然基于服务器端的日志文件)。问题是,当收件人收到XML节时,未检测到该属性。有什么可能导致这个吗?
原始XML Stanza(发送到服务器,提供给客户端,显示在日志中):
<message id="RquuK-35"
to="dodol@master.nze.com"
from="lola@master.nze.com">
<body>Let's join in my group!!</body>
<x xmlns="jabber:x:conference" jid="8c326c93b43077d4ecef8685de686462@conference.master.nze.com"/>
</message>
收到XML Stanza:
<message id="RquuK-35"
to="dodol@master.nze.com"
from="lola@master.nze.com">
<body>Let's join in my group!!</body>
<x xmlns="jabber:x:conference"/>
</message>
非常感谢任何建设性的意见。谢谢。
答案 0 :(得分:0)
当您从XML DOM请求jid
属性时,您可能正在指定jabber:x:conference
的命名空间。但是,没有前缀的属性总是没有命名空间。尝试使用""
作为命名空间URI。
答案 1 :(得分:0)
您需要实现自定义PacketExtensionProvider
以正确解析XML数据包。
然后使用ProviderManager.getInstance().addExtensionProvider("myElementName", "myNamespace", new MyCustomPacketExtensionProvider());