2016-04-14 15 views
0

XMLの下位にある 'value'タグの中にあるものをnodejsの配列に解析するにはどうすればよいですか?私はnpm xpath/xmldom、XMLExtract、そしてxml2jsonを試しましたが、まだ成功していません。nodejsの配列へのXML

<response status="success"><result> 
    <resource-monitor> 
    <data-processors> 
     <dp0> 
     <second> 
      <cpu-load-average> 
      <entry> 
       <coreid>0</coreid> 
       <value>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</value> 
      </entry> 
      <entry> 
       <coreid>1</coreid> 
       <value>2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 
,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2</value> 
      </entry> 

答えて

1

1つのオプションは、このようなcheerioを使用することです:

var cheerio = require('cheerio'); 
var _ = require('lodash'); 

var $ = cheerio.load('<cpu-load-average>\ 
     <entry>\ 
      <coreid>0</coreid>\ 
      <value>0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</value>\ 
     </entry>\ 
     <entry>\ 
      <coreid>1</coreid>\ 
      <value>2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2</value>\ 
     </entry>\ 
    </cpu-load-average>', 
    { xmlMode: true } 
); 

var values = _.map($('cpu-load-average').find('value'), function(item) { 
    return $(item).text().split(','); 
}); 

console.log(values); 

requirebin上でそれを試してみてください。大きなXMLファイルの場合、cheerioはxml2jsより速いはずです。

1

あなたはxml2jsを使用して、値の配列を生成するstring split operationを用いvalueタグの値をspliting JSONにXMLを変換することができます。

関連する問題