实例分析nodejs模块xml2js解析xml过程中遇到的坑


Posted in NodeJs onMarch 18, 2017

本文实例讲述了nodejs模块xml2js解析xml过程中遇到的坑。分享给大家供大家参考,具体如下:

在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下:

<xml>
<MsgId>6197906553041859764</MsgId>
</xml>

用xml2js中的xml2js.parseString 方法解析,本来以为是一个json,但总是解析失败,把解析的结果log下后如下:

{ xml: { MsgId: [ '6197906553041859764' ] } }

本来xml中<MsgId>包的是一个字符串,结果解析出来的是数组。

后来查了xml2js的官网,发现了如下的参数:

explicitArray (default: true): Always put child nodes in an array if true; otherwise an array is created only if there is more than one.

原来xml2js默认会把子子节点的值变为一个数组,这个坑真大啊!!!为了查这个问题,花了半天的时间。

知道原因后,解决的方法也很简单,在调用xml2js.parseString时加入explicitArray的参数如下:

xml2js.parseString(buf, {explicitArray : false}, function(err, json) {
});

修改后解析如下的结果如下:

{ xml: { MsgId: '6197906553041859764' } }

现在就变成一个字符串了。

NodeJs 相关文章推荐
提高NodeJS中SSL服务的性能
Jul 15 NodeJs
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
nodeJS代码实现计算交社保是否合适
Mar 09 NodeJs
NodeJS创建基础应用并应用模板引擎
Apr 12 NodeJs
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
Dec 30 NodeJs
详解nodeJS中读写文件方法的区别
Mar 06 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
Apr 07 NodeJs
nodejs入门教程三:调用内部和外部方法示例
Apr 24 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
nodejs读取本地中文json文件出现乱码解决方法
Oct 10 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
nodejs中模块定义实例详解
Mar 18 #NodeJs
Nodejs基于LRU算法实现的缓存处理操作示例
Mar 17 #NodeJs
用nodeJS搭建本地文件服务器的几种方法小结
Mar 16 #NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 #NodeJs
nodejs搭建本地http服务器教程
Mar 13 #NodeJs
搭建简单的nodejs http服务器详解
Mar 09 #NodeJs
nodejs读写json文件的简单方法(必看)
Mar 09 #NodeJs
You might like
德生PL330测评
2021/03/02 无线电
PHP+MYSQL的文章管理系统(二)
2006/10/09 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
php中session与cookie的比较
2015/01/27 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
2016/05/24 Javascript
简单实现js浮动框
2016/12/13 Javascript
vue-router路由简单案例介绍
2017/02/21 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
我们为什么要减少Python中循环的使用
2019/07/10 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
英国老牌潮鞋店:Offspring
2019/08/19 全球购物
Prototype是怎么扩展DOM的
2014/10/01 面试题
自荐书格式
2013/12/01 职场文书
客户经理岗位职责
2013/12/08 职场文书
社区包粽子活动方案
2014/01/21 职场文书
初中军训感想300字
2014/03/05 职场文书
《月球之谜》教学反思
2014/04/10 职场文书
给校长的一封检讨书
2014/09/20 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书
2015年度个人工作总结报告
2015/10/24 职场文书
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang
Python Django ORM连表正反操作技巧
2021/06/13 Python
Python利用FlashText算法实现替换字符串
2022/03/31 Python
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python