您好,登錄后才能下訂單哦!
本文實例講述了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' } }
現在就變成一個字符串了。
PS:這里再為大家提供幾款關于xml操作的在線工具供大家參考使用:
在線XML/JSON互相轉換工具:
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程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。