首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs中的XML到数组

nodejs中的XML到数组
EN

Stack Overflow用户
提问于 2016-04-14 19:00:28
回答 2查看 530关注 0票数 0

如何将XML下面的“value”标记中的任何内容解析为nodejs中的数组?我尝试了npm /xmldom,然后是XMLExtract,然后是xml2json,但没有成功。

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-14 19:44:36

一种选择是像这样使用cheerio

代码语言:javascript
复制
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更快。

票数 1
EN

Stack Overflow用户

发布于 2016-04-14 19:13:29

您可以使用xml2js将xml转换为json,然后使用字符串拆分操作拆分value标记的值将生成一个值数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36631752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档