Node.js: gestire l'importazione dei prodotti di WooCommerce usando il file XML di importazione

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;
};