- $headers = ['ime', 'ime', 'ime,]; // Prilagodi, če je struktura drugačna
Koraki:
1. Imena datotek
- Določi lokacijo in ime tvoje XML datoteke (input.xml) in ime izhodne datoteke CSV (output.csv).
2. Nalaganje XML datoteke
- Funkcija simplexml_load_file naloži XML datoteko v objekt, ki ga lahko iteriraš.
3. Generiranje CSV datoteke
- Pisanje v datoteko CSV poteka enako kot v prejšnjem primeru. Naslove ($headers) in elemente lahko prilagodiš glede na svojo XML strukturo.
4. Preverjanje napak
- Preverimo, ali datoteke obstajajo in ali se lahko pravilno naložijo ali odprejo.
<?php
// Pot do tvoje XML datoteke
$xmlFilePath = "imeDokumenta.xml";
// Pot do izhodne CSV datoteke
$outputFilePath = "imeDokumenta.csv";
// Preveri, če XML datoteka obstaja
if (!file_exists($xmlFilePath)) {
die("Napaka: XML datoteka '{$xmlFilePath}' ne obstaja.");
}
// Naloži XML datoteko
$xml = simplexml_load_file($xmlFilePath);
if ($xml === false) {
die("Napaka pri nalaganju XML datoteke.");
}
// Odpri CSV datoteko za zapisovanje
$csv = fopen($outputFilePath, 'w');
if ($csv === false) {
die("Napaka pri odpiranju CSV datoteke za pisanje.");
}
// Zapiši naslove stolpcev (to prilagodi glede na strukturo tvoje XML datoteke)
$headers = ['ime', 'ime', 'ime']; // Prilagodi, če je struktura drugačna
fputcsv($csv, $headers);
// Iteriraj čez XML podatke in zapiši v CSV
foreach ($xml->item as $item) {
$row = [
(string) $item->id,
(string) $item->name,
(string) $item->price,
];
fputcsv($csv, $row);
}
// Zapri CSV datoteko
fclose($csv);
echo "XML uspešno pretvorjen v CSV in shranjen v '{$outputFilePath}'.";
// Pot do tvoje XML datoteke
$xmlFilePath = "imeDokumenta.xml";
// Pot do izhodne CSV datoteke
$outputFilePath = "imeDokumenta.csv";
// Preveri, če XML datoteka obstaja
if (!file_exists($xmlFilePath)) {
die("Napaka: XML datoteka '{$xmlFilePath}' ne obstaja.");
}
// Naloži XML datoteko
$xml = simplexml_load_file($xmlFilePath);
if ($xml === false) {
die("Napaka pri nalaganju XML datoteke.");
}
// Odpri CSV datoteko za zapisovanje
$csv = fopen($outputFilePath, 'w');
if ($csv === false) {
die("Napaka pri odpiranju CSV datoteke za pisanje.");
}
// Zapiši naslove stolpcev (to prilagodi glede na strukturo tvoje XML datoteke)
$headers = ['ime', 'ime', 'ime']; // Prilagodi, če je struktura drugačna
fputcsv($csv, $headers);
// Iteriraj čez XML podatke in zapiši v CSV
foreach ($xml->item as $item) {
$row = [
(string) $item->id,
(string) $item->name,
(string) $item->price,
];
fputcsv($csv, $row);
}
// Zapri CSV datoteko
fclose($csv);
echo "XML uspešno pretvorjen v CSV in shranjen v '{$outputFilePath}'.";