Possiamo gestire l'importazione dei prodotti di WooCommerce in Node.js utilizzando il file XML di importazione.
Installiamo il modulo richiesto per il parsing del file XML di importazione di WooCommerce:
npm install cheerio
Quindi scriviamo:
'use strict';
const cheerio = require('cheerio');
const fs = require('fs');
const importProducts = () => {
const xml = fs.readFileSync(__dirname + '/dummy-data.xml' ).toString();
const $ = cheerio.load(xml, {
normalizeWhitespace: true,
xmlMode: true
});
let data = [];
$( 'item' ).each( (i, item) => {
let product = $( item );
let prod = {};
let type = product.find('wp\\:post_type').text();
if(type === 'product') {
prod.title = product.find('title').text();
prod.link = product.find('link').text();
prod.id = parseInt(product.find('wp\\:post_id').text(), 10);
prod.date = product.find('wp\\:post_date').text();
prod.content = product.find('content\\:encoded').text();
prod.excerpt = product.find('excerpt\\:encoded').text();
data.push(prod);
}
});
return data;
};