如何将XML下面的“value”标记中的任何内容解析为nodejs中的数组?我尝试了npm /xmldom,然后是XMLExtract,然后是xml2json,但没有成功。
<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>发布于 2016-04-14 19:44:36
一种选择是像这样使用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);在所需上试一试。如果是一个很大的XML文件,那么cheerio应该比xml2js更快。
发布于 2016-04-14 19:13:29
您可以使用xml2js将xml转换为json,然后使用字符串拆分操作拆分value标记的值将生成一个值数组。
https://stackoverflow.com/questions/36631752
复制相似问题