實(shí)例分析nodejs模塊xml2js解析xml過程中遇到的坑
本文實(shí)例講述了nodejs模塊xml2js解析xml過程中遇到的坑。分享給大家供大家參考,具體如下:
在一個項目中,用到nodejs模塊xml2js解析xml,xml的數(shù)據(jù)如下:
<xml> <MsgId>6197906553041859764</MsgId> </xml>
用xml2js中的xml2js.parseString 方法解析,本來以為是一個json,但總是解析失敗,把解析的結(jié)果log下后如下:
{ xml: { MsgId: [ '6197906553041859764' ] } }
本來xml中<MsgId>包的是一個字符串,結(jié)果解析出來的是數(shù)組。
后來查了xml2js的官網(wǎng),發(fā)現(xiàn)了如下的參數(shù):
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默認(rèn)會把子子節(jié)點(diǎn)的值變?yōu)橐粋€數(shù)組,這個坑真大?。。。榱瞬檫@個問題,花了半天的時間。
知道原因后,解決的方法也很簡單,在調(diào)用xml2js.parseString時加入explicitArray的參數(shù)如下:
xml2js.parseString(buf, {explicitArray : false}, function(err, json) {
});
修改后解析如下的結(jié)果如下:
{ xml: { MsgId: '6197906553041859764' } }
現(xiàn)在就變成一個字符串了。
PS:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
希望本文所述對大家nodejs程序設(shè)計有所幫助。
相關(guān)文章
nodeJS實(shí)現(xiàn)簡單網(wǎng)頁爬蟲功能的實(shí)例(分享)
下面小編就為大家?guī)硪黄猲odeJS實(shí)現(xiàn)簡單網(wǎng)頁爬蟲功能的實(shí)例(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
Node實(shí)戰(zhàn)之不同環(huán)境下配置文件使用教程
這篇文章主要給大家介紹了關(guān)于Node實(shí)戰(zhàn)之不同環(huán)境下配置文件使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
詳解前端任務(wù)構(gòu)建利器Gulp.js使用指南
這篇文章主要介紹了前端任務(wù)構(gòu)建利器Gulp.js使用指南,對Gulp.js感興趣的同學(xué),可以參考下2021-04-04
node.js中的模塊化標(biāo)準(zhǔn)CommonJS與自定義模塊
這篇文章介紹了node.js中的模塊化標(biāo)準(zhǔn)CommonJS與自定義模塊,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06

