请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Error: Non-whitespace before first tag. 第二天自动回复问题?

C:\Users\Administrator\Downloads\wechat>node --harmony app

listen1234

{ xml:

   { ToUserName: [ 'gh_b8e848cc8268' ],

     FromUserName: [ 'ot8kQxL_YmQSviBwFAu6CjX-NyJw' ],

     CreateTime: [ '1473227298' ],

     MsgType: [ 'text' ],

     Content: [ '选' ],

     MsgId: [ '6327463065028696805' ] } }

Unhandled rejection Error: Non-whitespace before first tag.

Line: 0

Column: 1

Char: [

    at error (C:\Users\Administrator\Downloads\wechat\node_modules\sax\lib\sax.js:667:10)

    at strictFail (C:\Users\Administrator\Downloads\wechat\node_modules\sax\lib\sax.js:693:7)

    at beginWhiteSpace (C:\Users\Administrator\Downloads\wechat\node_modules\sax\lib\sax.js:967:7)

    at Object.write (C:\Users\Administrator\Downloads\wechat\node_modules\sax\lib\sax.js:1019:11)

    at Parser.exports.Parser.Parser.parseString (C:\Users\Administrator\Downloads\wechat\node_modules\xml2js\lib\xml2js.js:508:31)

    at Parser.parseString (C:\Users\Administrator\Downloads\wechat\node_modules\xml2js\lib\xml2js.js:7:59)

    at Object.exports.parseString (C:\Users\Administrator\Downloads\wechat\node_modules\xml2js\lib\xml2js.js:540:19)

    at C:\Users\Administrator\Downloads\wechat\util.js:52:10

    at Promise._execute (C:\Users\Administrator\Downloads\wechat\node_modules\bluebird\js\release\debuggability.js:299:9)

    at Promise._resolveFromExecutor (C:\Users\Administrator\Downloads\wechat\node_modules\bluebird\js\release\promise.js:481:18)

    at new Promise (C:\Users\Administrator\Downloads\wechat\node_modules\bluebird\js\release\promise.js:77:14)

    at Object.exports.formatMessage (C:\Users\Administrator\Downloads\wechat\util.js:51:9)

    at Object.<anonymous> (C:\Users\Administrator\Downloads\wechat\g.js:39:23)

    at next (native)

    at Object.<anonymous> (C:\Users\Administrator\Downloads\wechat\node_modules\koa-compose\index.js:28:19)

    at next (native)




发送的消息收到了,但在执行var message = util.formatMessage(content.xml);方法时报错。卡了快一周了,求拯救啊!

正在回答 回答被采纳积分+3

2回答

Scott 2016-09-07 16:19:14

应该是 xml 的模板代码写错了,检查下标签大小写啊,语法嵌套啊,是否关闭啊,多余空格啊之类的

0 回复 有任何疑惑可以回复我~
ReadingCommando 2016-09-09 16:06:00

这个不是xml模版的问题,我遇到问题和你一样。要感谢 nodejs微信课程群2 @Along的帮助问题顺利的解决了。

function formatMessage(result) {

  var message = {};


  if (typeof result === 'object') {

  var keys = Object.keys(result);


  for (var i = 0; i < keys.length; i++) {

  var item = result[keys[i]];

  var key = keys[i];


  if (!(item instanceof Array) || item.length === 0) {

  continue;

  }


  if (item.length === 1) {

  var val = item[0];


  if (typeof val === 'object') {

  mesage[key] = formatMessage(val);

  } else {

  message[key] = (val || '').trim();

  }

  } else {

  message[key] = [];


  for (var j = 0, k = item.lenght; j < k; j++) {

  message[key].push(formatMessage(item[j]));

  }

  }

  }

  }


  return message;

 }


exports.formatMessage = formatMessage ;



0 回复 有任何疑惑可以回复我~
  • Scott #1
    item.lenght;
    
    是不是拼错了: item.length
    回复 有任何疑惑可以回复我~ 2016-09-09 16:49:01
  • 回复 Scott是啊,谢谢啊!!!
    回复 有任何疑惑可以回复我~ 2016-09-13 07:24:23
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号