node.js xmpp

来源:互联网 发布:生成艺术字软件 编辑:程序博客网 时间:2024/05/02 02:20

 使用模块:npm install node-xmpp

var XMPP = require('node-xmpp');      var xmpp = new XMPP.Client({jid : 'jid',password : '123456',host:'xxxx',port : 5222});xmpp.on('error', function(err) {console.error(err);});       xmpp.on('online', function() {console.log('Yes, I\'m connected!');console.log('-------------------------');xmpp.send('<iq id="vcard00" type="get"><vCard xmlns="vcard-temp"></vCard></iq>');});xmpp.on('stanza', function(stanza) {console.log(stanza.toString());if(stanza.is('iq') && stanza.attrs.type !=='error' ) {...............} else if(stanza.attrs.type =='error'){callback('upd vcard error!')}})

//构造xml Element对象:

var data = new XMPP.Element('iq',{id:'change00',type:'set',to:name[1]})
                        .c('query',{xmlns:'jabber:iq:register'})  //创建新结点
                        .c('username').t(name[0])   //创建新结点并赋值
                        .up()   //回到上层结点
                        .tree();   //获取根节点

 var tel = data.getChild('vCard').getChild('TEL');

tel.text('test');   //给已有结点赋值

var str = new XMPP.Element('iq',{type:'set', id:'vcard01'})
        .cnode(data.getChild('vCard'))  //将data的vCard结点作为子结点
        .tree();





0 0