Je vous partage mon code qui permet de fusionner plusieurs fichiers XML en les récupérant via FTP sur un serveur distant. Une fois la connexion faite, le script va générer un seul fichier XML  valide en fonction du nœud que vous aurez précisé dans le code.  Ce fichier une fois placé à la racine de votre site (ou ailleurs) peut être lancé automatiquement via une tache planifiée (dans le cas d’une importation wordpress, par exemple)… Si vous avez besoin d’aide pour l’installation et le paramétrage ou même pour une demande spécifique, n’hésitez pas de me contacter, je serai ravi de vous répondre rapidement 🙂

Remplacer les xxxxx dans le script par vos données

<?php
// Configuration FTP
$ftpHost = 'xxxxx'; // Adresse du serveur FTP
$ftpUser = 'xxxxxxx'; // Nom d'utilisateur FTP
$ftpPass = 'xxxxxx'; // Mot de passe FTP
$remoteDirectory = '/xxxxxx'; // Répertoire distant contenant les fichiers XML
// Connexion FTP en mode passif
$ftp = ftp_connect($ftpHost);
if (!$ftp) {
    die('Impossible de se connecter au serveur FTP.');
}
if (!ftp_login($ftp, $ftpUser, $ftpPass)) {
    die('Échec de l\'authentification FTP.');
}
if (!ftp_pasv($ftp, true)) {
    die('Impossible de passer en mode FTP passif.');
}
// Liste des fichiers dans le répertoire distant
$remoteFiles = ftp_nlist($ftp, $remoteDirectory);
if (!$remoteFiles) {
    die('Aucun fichier trouvé dans le répertoire distant.');
}
// Téléchargez chaque fichier localement sous son nom d'origine
foreach ($remoteFiles as $remoteFile) {
    $localFile = basename($remoteFile);
    if (ftp_get($ftp, $localFile, $remoteFile, FTP_BINARY)) {
        echo "Téléchargement de $remoteFile terminé.\n";
    } else {
        echo "Échec du téléchargement de $remoteFile.\n";
    }
}
// Fermez la connexion FTP
ftp_close($ftp);
echo "Tous les fichiers ont été téléchargés dans le répertoire actuel.\n";
// Tableau pour stocker tous les fichiers XML à fusionner
$xmlFiles = array('xxx.xml', 'xxx.xml', 'xxx.xml');
// Créez un nouveau document XML pour la fusion
$mergedXml = new DOMDocument();
$mergedXml->formatOutput = true; // Pour une sortie bien formatée
// Élément racine du document fusionné
$root = $mergedXml->createElement('Root');
$mergedXml->appendChild($root);
// Parcourez chaque fichier XML à fusionner
foreach ($xmlFiles as $file) {
    $xml = new DOMDocument();
    $xml->load($file);
    // Récupérez tous les nœuds <xxxxx> du fichier
    $items = $xml->getElementsByTagName('xxxxxx');
    // Parcourez chaque nœud <xxxxx> et ajoutez-le au document fusionné
    foreach ($items as $item) {
        // Importez le nœud <xxxxx> dans le document fusionné
        $importedItem = $mergedXml->importNode($item, true);
        // Ajoutez le nœud importé à l'élément racine
        $root->appendChild($importedItem);
    }
}
// Enregistrez le document fusionné dans un fichier
$mergedXml->save('fusion.xml');
echo "Fusion terminée. Le fichier fusion.xml a été créé.";
?>
Politique de confidentialité

Collecte de l’information
Nous recueillons des informations lorsque vous vous inscrivez sur notre site, lorsque vous vous connectez à votre compte, faites un achat, participez à un concours, et / ou lorsque vous vous déconnectez. Les informations recueillies incluent votre nom, votre adresse e-mail, numéro de téléphone et votre adresse de livraison.
En outre, nous recevons et enregistrons automatiquement des informations à partir de votre ordinateur et navigateur, y compris votre adresse IP, vos logiciels et votre matériel, et la page que vous demandez.

Utilisation des informations
Toute les informations que nous recueillons auprès de vous peuvent être utilisées pour :

  • Personnaliser votre expérience et répondre à vos besoins individuels
  • Fournir un contenu publicitaire personnalisé
  • Améliorer notre site Web
  • Améliorer le service client et vos besoins de prise en charge
  • Vous contacter par e-mail
  • Administrer un concours, une promotion, ou un enquête

Confidentialité du commerce en ligne
Nous sommes les seuls propriétaires des informations recueillies sur ce site. Vos informations personnelles ne seront pas vendues, échangées, transférées, ou données à une autre société pour n’importe quel raison, sans votre consentement, en dehors de ce qui est nécessaire pour répondre à une demande et / ou une transaction, comme par exemple pour expédier une commande.

Divulgation à des tiers
Nous ne vendons, n’échangeons et ne transférons pas vos informations personnelles identifiables à des tiers. Cela ne comprend pas les tierce parties de confiance qui nous aident à exploiter notre site Web ou à mener nos affaires, tant que ces parties conviennent de garder ces informations confidentielles.
Nous pensons qu’il est nécessaire de partager des informations afin d’enquêter, de prévenir ou de prendre des mesures concernant des activités illégales, fraudes présumées, situations impliquant des menaces potentielles à la sécurité physique de toute personne, violations de nos conditions d’utilisation, ou quand la loi nous y contraint.
Les informations non-privées, cependant, peuvent être fournies à d’autres parties pour le marketing, la publicité, ou d’autres utilisations.

Protection des informations
Nous mettons en œuvre une variété de mesures de sécurité pour préserver la sécurité de vos informations personnelles. Nous utilisons un cryptage à la pointe de la technologie pour protéger les informations sensibles transmises en ligne. Nous protégeons également vos informations hors ligne. Seuls les employés qui ont besoin d’effectuer un travail spécifique (par exemple, la facturation ou le service à la clientèle) ont accès aux informations personnelles identifiables. Les ordinateurs et serveurs utilisés pour stocker des informations personnelles identifiables sont conservés dans un environnement sécurisé.

Est-ce que nous utilisons des cookies Google ?
Oui. Nos cookies améliorent l’accès à notre site et identifient les visiteurs réguliers. En outre, nos cookies améliorent l’expérience d’utilisateur grâce au suivi et au ciblage de ses intérêts. Cependant, cette utilisation des cookies n’est en aucune façon liée à des informations personnelles identifiables sur notre site.

Se désabonner
Nous utilisons l’adresse e-mail que vous fournissez pour vous envoyer des informations et mises à jour relatives à votre commande, des nouvelles de l’entreprise de façon occasionnelle, des informations sur des produits liés, etc. Si à n’importe quel moment vous souhaitez vous désinscrire et ne plus recevoir d’e-mails, des instructions de désabonnement détaillées sont incluses en bas de chaque e-mail.

Consentement
En utilisant notre site, vous consentez à notre politique de confidentialité.