IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Parser un fichier XML "binaire"


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Points : 254
    Points
    254
    Par défaut Parser un fichier XML "binaire"
    Bonjour,

    Je cherche un moyen d'extraire des données à partir d'un document XML exporté depuis le logiciel Design 9 de 20-20 Technologies. Le problème avec ce fichier XML, c'est que ce n'est pas un beau petit fichier XML avec des tags et du contenu en clair, c'est plutôt un gros tas de données binaires incompréhensibles. Je ne sais pas trop par où commencer pour en extraire des données, est-ce possible?

    Quelqu'un connaît un moyen de réussir sans y passer une vie?

  2. #2
    Membre actif Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Points : 254
    Points
    254
    Par défaut
    Afin de décoder plus facilement la structure d'un fichier binaire inconnu, je me suis créé cette petite fonction qui m'a facilité beaucoup la recherche.

    Il s'agit d'inscrire le chemin d'accès au fichier, et de façon facultative la ligne de départ et d'arrêt de la lecture.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function print_binary($filename, $start = 0, $stop = NULL) {
    	$handle = @fopen($filename, "r");
    	if($handle) {
    		$cpt = 0;
    		$data = [];
    		while(($buffer = fgets($handle, 4096)) !== false) {
    			if($cpt++ < $start) continue;
    			$data = array_merge($data, unpack("C*", $buffer));
    			if((is_numeric($start))&&($cpt > $stop)) break;
    		}
     
    		$ASCII = $DEC = $HEX = $KEY = "";
    		foreach($data AS $k => $char) {
    			$KEY .= sprintf("<div class=\"key\">%d</div>", $k);
    			$ASCII .= sprintf("<div class=\"ascii\">%s</div>", chr($char));
    			$DEC .= sprintf("<div class=\"dec\">%03d</div>", $char);
    		}
    		printf("%s<div class=\"clear\"></div>%s<div class=\"clear\"></div>%s<div class=\"clear\"></div><hr />", $KEY, $ASCII, $DEC);
    		if((!feof($handle))&&($cpt <= $stop)) echo "Erreur: fgets() a échoué\n";
     
    		fclose($handle);
    	}
    }

Discussions similaires

  1. Parser un fichier XML
    Par Charlinecha dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 11/07/2005, 17h18
  2. [SAX] parser un fichier xml en Java
    Par royou dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 10/02/2005, 17h12
  3. parser des fichier .xml en perl
    Par djibril dans le forum Modules
    Réponses: 13
    Dernier message: 18/05/2004, 17h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo