Módulo para manipular XML de NFe, baseado em regex. Indicado para grandes processamentos em massa pela sua velocidade de processamento.
NPM
npm install nfe-xml
const fs = require('fs');
const file = fs.readFileSync('/path/to/xml', 'utf-8');
const NFe = require('nfe-xml');
const xml = new NFe(file);
xml.produtos().select(0).valor().done(); //ex. 250.65
//...
xml.produtos().each(produto => console.log(`${produto.icms().done()} - `)); //ex. 254.55 - 658.54 - 856.65
//...
//...
xml.produtos().map(produto => ({ valor: produto.valor().toNumber().done() })); // [{ valor: 255.50 }, { valor: 265.78 }]
//...
//...
xml.produtos().filter(produto => produto.valor().toNumber().done() > 400); // [ NFe {}, NFe {} ]
//...
//...
xml.produtos().reduce(produto => produto.valor().toNumber().done() + acc, 0); // 500.56
//...
//...
xml.emitente().nome().done(); //ex. Foo ltda
xml.destinatario().nome().done(); //ex. Bar ltda
//...