NodeJS xml流,解析未知节点

问题描述 投票:0回答:1

我需要一个功能强大的软件包来解析大型XML文件,而我遇到了xml-stream。很棒,但是由于某种原因,我似乎找不到解析未知节点的方法,它希望我将期望的字段作为参数发送。

这是XML文件

<Offers>
<Offer>
    <Model>
        694547
    </Model>
    <RegularPrice>
        219.00
    </RegularPrice>
    <ParentSKU>
        654987
    </ParentSKU>
</Offer>
<Offer>
    <Model>
        694548
    </Model>
    <RegularPrice>
        235.00
    </RegularPrice>
    <ParentSKU>
        123456
    </ParentSKU>
</Offer>

这是我使用的代码

var XmlStream = require('xml-stream'); 
var fs = require('fs');

var stream = fs.createReadStream(filePath);
var xml = new XmlStream(stream);

xml.on('endElement: Offer', function (item) { //<<<- Here I need to add 'Offer' as an expected node
    console.log('loaded', JSON.stringify(item));
});

xml.on('end', function () {
    console.log('END XML');
});

响应很好,正如预期的那样>>

loaded {"Model":"694547","RegularPrice":"219.00","ParentSKU":"654987"}
loaded {"Model":"694548","RegularPrice":"235.00","ParentSKU":"123456"}
END XML

如何在不必将“ Offer”设置为预期节点的情况下获得相同的列表?我期望得到的XML可以具有不同的节点和值。

我需要一个功能强大的软件包来解析大型XML文件,而我遇到了xml-stream。很好,但是由于某种原因,我似乎找不到解析未知节点的方法,它希望我发送期望的...

node.js xml npm xml-parsing
1个回答
0
投票

确定,最后-我已经覆盖了xml-stream lib。 (位于“ /xml-stream/lib/xml-stream.js”中)

© www.soinside.com 2019 - 2024. All rights reserved.