'); // Mapa nagłówków technicznych na pełne, polskie opisy do opisu produktu $mapaOpisow = [ 'Material' => 'Materiał wykonania', 'Kolor_pods' => 'Kolor podstawy', 'Klasa_energetyczna' => 'Klasa energetyczna', 'Ilosc_zrodel_swiatla' => 'Ilość źródeł światła', 'Zawiera_zrodlo_swiatla' => 'Czy zawiera źródło światła', 'Trzonek' => 'Rodzaj trzonka', 'Barwa_swiatla' => 'Barwa światła', 'Srednica_prod' => 'Średnica', 'Wysokosc_prod' => 'Wysokość', 'Szerokosc_prod' => 'Szerokość', 'Glebokosc_prod' => 'Głębokość', 'Wymiary ' => 'Wymiary (wys. x szer. x gł.)', 'Waga_netto' => 'Waga netto', ]; while (($data = fgetcsv($handle, 0, ';')) !== false) { $produkt = $xml->addChild('produkt'); $opis = ""; foreach ($headers as $i => $header) { $value = isset($data[$i]) ? trim($data[$i]) : ''; $safeHeader = preg_replace('/[^a-zA-Z0-9_]/', '_', $header); // Dodaj " Candellux" do nazwy handlowej if ($header === 'Nazwa_handlowa') { $value .= ' Candellux'; } // Tworzenie opisu produktu z mapy opisów if (array_key_exists($header, $mapaOpisow) && $value !== '') { $opis .= $mapaOpisow[$header] . ': ' . $value . ". "; } // Normalny wpis XML $produkt->addChild($safeHeader, htmlspecialchars($value)); } // Dodanie wygenerowanego opisu produktu $produkt->addChild('opis_produktu', htmlspecialchars(trim($opis))); // Dodanie dodatkowych pól stałych $produkt->addChild('producent', 'Candellux'); $produkt->addChild('marka', 'Candellux'); $produkt->addChild('kategoria', 'Oświetlenie'); } fclose($handle); $xml->asXML('output.xml'); echo "Konwersja zakończona sukcesem. Plik zapisano jako output.xml"; ?>