A solo titolo di esempio io mi sono fatto un programma php, quindi lanciabile anche da crontab, per importare un archivio degli articoli Vinted. Anche Vinted usa un formato XML.
Mi funziona e solo per dare un'idea posto qui l'inizio del programma:
<?php
include('simple_html_dom.php');
$html = file_get_html('/var/www/html/listings/index.html');
$recs = [];
$i = 0;
//foreach ($html->find('div[itemscope].cell-images') as $k=>$row) {
foreach ($html->find('div[itemscope].cell') as $k=>$row) {
//foreach ($html->find('div[itemscope], a') as $k=>$row) {
echo "<hr>";
echo "Articolo caricato n.".$i."<br>";
//echo "Articolo:<br>".$row."<br><br>"; //solo per dubug
/*
foreach ($row->find('div') as $cell) {
//$recs[$k][] = $cell->plaintext;
//$recs[$k][] = $cell->tag;
//$recs[$k][] = $cell->outertext;
$recs[$k][] = $cell->innertext;
}
*/
foreach ($row->find('div[itemprop=title].cell-header') as $cell) {
unset($titolo);
$titolo[] = $cell->innertext;
echo '$titolo: '.implode(',',$titolo)."<br>";
}
foreach ($row->find('span[itemprop=description]') as $cell) {
unset($descri);
$descri[] = $cell->innertext;
echo '$descri: '.implode(',',$descri)."<br>";
}
Come si vede all'inizio e' necessaria una classe php che gestisce questo tipo di conversioni, si tratta di codice open source. Io trasformo XML in dati sql, ma lavorando con cautela si puo' cosi' inserirli direttamente in OSM. Comunque non e' un problema ottenere un CSV in alternativa.
Spero sia utile