1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
<?php
$fichiers_sortie = array();
$fp = fopen('source.txt', 'r');
while (!feof($fp)) {
$ligne = fgets($fp);
$fragments = explode(';', $ligne);
if (!isset($fichiers_sortie[$fragments[0]])) {
$fichiers_sortie[$fragments[0]] = new DOMDocument('1.0', 'ISO-8859-1');
}
$dom = $fichiers_sortie[$fragments[0]];
try {
switch ($fragments[0]) {
case 4000:
$xpath = new DOMXPath($dom);
$id = $xpath->evaluate("/id{$fragments[1]}")->item(0);
if ($id == null) {
$id = $dom->createElement("id{$fragments[1]}");
$dom->appendChild($id);
}
$mvt = $dom->createElement('mvt');
$mvt->setAttribute('date', $fragments[4]);
$mvt->setAttribute('nbr', $fragments[5]);
$mvt->setAttribute('achat', trim($fragments[6]));
$id->appendChild($mvt);
break;
case 25000:
// ...
break;
}
} catch (Exception $e) {
die('Ligne ' . $e->getLine() . ' : ' . $e->getMessage());
}
}
fclose($fp);
foreach ($fichiers_sortie as $k => $v) {
$v->save("$k.xml");
unset($fichiers_sortie[$k]);
}
?> |
Partager