實(shí)例分析nodejs模塊xml2js解析xml過(guò)程中遇到的坑
本文實(shí)例講述了nodejs模塊xml2js解析xml過(guò)程中遇到的坑。分享給大家供大家參考,具體如下:
在一個(gè)項(xiàng)目中,用到nodejs模塊xml2js解析xml,xml的數(shù)據(jù)如下:
<xml> <MsgId>6197906553041859764</MsgId> </xml>
用xml2js中的xml2js.parseString 方法解析,本來(lái)以為是一個(gè)json,但總是解析失敗,把解析的結(jié)果log下后如下:
{ xml: { MsgId: [ '6197906553041859764' ] } }
本來(lái)xml中<MsgId>包的是一個(gè)字符串,結(jié)果解析出來(lái)的是數(shù)組。
后來(lái)查了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.
原來(lái)xml2js默認(rèn)會(huì)把子子節(jié)點(diǎn)的值變?yōu)橐粋€(gè)數(shù)組,這個(gè)坑真大?。。。榱瞬檫@個(gè)問(wèn)題,花了半天的時(shí)間。
知道原因后,解決的方法也很簡(jiǎn)單,在調(diào)用xml2js.parseString時(shí)加入explicitArray的參數(shù)如下:
xml2js.parseString(buf, {explicitArray : false}, function(err, json) {
});
修改后解析如下的結(jié)果如下:
{ xml: { MsgId: '6197906553041859764' } }
現(xiàn)在就變成一個(gè)字符串了。
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
希望本文所述對(duì)大家nodejs程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解npm 配置項(xiàng)registry修改為淘寶鏡像
這篇文章主要介紹了詳解npm 配置項(xiàng)registry修改為淘寶鏡像,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
用Nodejs實(shí)現(xiàn)在終端中炒股的實(shí)現(xiàn)
這篇文章主要介紹了用Nodejs實(shí)現(xiàn)在終端中炒股的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Node.js在圖片模板上生成二維碼圖片并附帶底部文字說(shuō)明實(shí)現(xiàn)詳解
這篇文章主要介紹了Node.js在圖片模板上生成二維碼圖片并附帶底部文字說(shuō)明實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
node-red教程之dashboard簡(jiǎn)介與輸入型儀表板控件的使用
Node-red支持自定義節(jié)點(diǎn),當(dāng)然也就支持自定義圖形化的節(jié)點(diǎn)。也有優(yōu)秀的開(kāi)發(fā)者把自己建立的圖形化節(jié)點(diǎn)無(wú)償分享。這里給出一個(gè)股票界面的例子,讓大家看一看優(yōu)秀的node-red界面能做到什么樣子2022-01-01
yarn?install命令報(bào)錯(cuò)warning?package-lock.json?found解決辦法
這篇文章主要給大家介紹了關(guān)于yarn?install命令報(bào)錯(cuò)warning?package-lock.json?found的解決辦法,文中通過(guò)圖文將解決的辦法介紹的非常詳細(xì),還分享了更多yarn install遇到的報(bào)錯(cuò)及解決方案,需要的朋友可以參考下2024-02-02
Nodejs中koa2連接mysql的實(shí)現(xiàn)示例
本文主要介紹了Nodejs中koa2連接mysql的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

