如何在node.js中列出所有标签xml

时间:2015-06-09 13:52:18

标签: javascript xml node.js xml-parsing fs

这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<!-- 1 = video , 2 = html , 3 = pdf -->
<stage_type>2</stage_type>
<resource_name>http://www.XXX</resource_name>

我想得到<resource_name>。我正在使用 xml2js 。 当我使用时:

var parser = new xml2js.Parser();
                        fs.readFile('./' + file, function(err, data) {
                            parser.parseString(data, function (err, result) {
                                console.dir(result);
                                console.log('Done');
                            });
                        });

我得到<stage_type>并且没有所有xml文件。 (<stage_type><resource_name>) 我知道我没有root标签,但我需要保留它。

1 个答案:

答案 0 :(得分:0)

您的XML文件不是有效的XML。它有多个根节点。尝试像这样解析XML,它应该工作:

<?xml version="1.0" encoding="utf-8"?>
<!-- 1 = video , 2 = html , 3 = pdf -->
<resource>
  <stage_type>2</stage_type>
  <resource_name>http://www.XXX</resource_name>
</resource>

您可以将resource节点重命名为您想要的任何内容,但这就是xml2js缺少resource_name的原因。我不知道有xml2js处理片段的任何选项(可能会让它接受这种类型的XML)。