SmackIQ包的扩展

如果我们要扩展一个如下所示的IQ包:

成都创新互联于2013年创立,先为石狮等服务建站,石狮等地企业,进行企业商务咨询服务。为石狮企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

    
        element
    

需要定义一个自定义IQ进行扩展:

Smack IQ包的扩展

package com.emcc.stc.demo.iq;import org.jivesoftware.smack.packet.IQ;public class SampleIQ extends IQ
{
    String condition;
    String value;    protected SampleIQ(String childElementName, String childElementNamespace,
            String condition, String value)
    {        super(childElementName, childElementNamespace);        this.condition = condition;        this.value = value;
    }    /**
     * 最关键的实现类     */
    @Override    protected IQChildElementXmlStringBuilder getIQChildElementBuilder(
            IQChildElementXmlStringBuilder xml)
    {
        xml.attribute("condition", condition);
        xml.rightAngleBracket();
        xml.element("extraElement", "value");        return xml;
    }    public static void main(String[] args)
    {
        IQ iq = new SampleIQ("query", "emcc.jiyq", "what", "elemeng");
        System.out.println(iq.toXML());
    }
}

Smack IQ包的扩展

这种方式的好处是,每一种IQ都有特定定义,每个自定义IQ类都有其应用场景,而且无需再手动配置XML。

另外,可以编写相应的IQParser解析特定类型的IQ包,更加利于使用。

最后,Smack的文档是相当缺失的,很多问题,还是仔细阅读源代码比较好。


当前文章:SmackIQ包的扩展
URL网址:http://bzwzjz.com/article/jehgdo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 企业网站设计 成都网站制作 成都网站设计公司 重庆外贸网站建设 成都网站制作 网站设计 网站建设方案 达州网站设计 外贸网站设计方案 重庆网站建设 营销网站建设 四川成都网站设计 专业网站建设 成都做网站建设公司 成都网站制作 响应式网站设计 网站建设开发 企业网站制作 外贸营销网站建设 成都网站建设 专业网站设计 成都定制网站建设