Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Enseignant Chercheur
    Inscrit en
    novembre 2012
    Messages
    2
    Détails du profil
    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : novembre 2012
    Messages : 2
    Points : 1
    Points
    1

    Par défaut [DOM] création de fichier XML format spécifique avec PHP

    Bonjour,

    Question de débutant
    Essayant d’homogénéiser quelque petit logiciel, je voudrais produire le même format xml qu’une ancienne application utilisé au laboratoire.

    Voila sa structure :
    Code :
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE analyse  SYSTEM "analyse_1_13.dtd">
    <analyse version="2.0" >
    	<num></num>
    </analyse>
    Actuellement avec ce que j’ai écris j’arrive à produire ceci :

    Code :
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <analyse >
    	<num></num>
    </analyse>
    Il manque l’ajout du DOCTYPE et au niveau de la racine l’ajout du version="2.0". Ces deux éléments étant obligatoire dans l’utilisation qui suit.
    J’ai lu les différents cours pour faire ceci et je remercie les personnes qui les ont écris. Mais je n’ai pas trouvé la solution.

    Voila mon php
    Code :
    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
     
    $xml = '<?xml version="1.0" encoding="UTF-8"?>';
     
    // Instance de la class DomDocument
    $doc = new DOMDocument();
     
    // Definition de la version et l'encodage
    $doc->version = '1.0';
    $doc->encoding = "utf-8";
     
     
    // Ajout la balise 'note' a la racine
    $note_elt = $doc->createElement('analyse');
    $doc->appendChild($note_elt);
     
    // on recupere le tableau pour mettre dans la balise en boucle
    foreach ($tableau_code_barre as $values)
    {
    // Creation des elements
    $numero_gestion_elt   = $doc->createElement('num', $values);
     
    // Specifier que les elements numero_gestion sont dans note
    $note_elt->appendChild($numero_gestion_elt);
    }
     
    // format
    $doc->formatOutput = true;
     
    // Sauver le document XML sous le nom analyse.xml
    $doc->save('archive/analyse_'.$date3.'.xml');
     
    // fini
    Avez-vous une solution, pour ces deux problèmes?

    Je vous remercie de vos réponses

  2. #2
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 617
    Points : 8 946
    Points
    8 946

    Par défaut

    Salut,

    pourquoi ne pas démarrer ton DOMDocument correctement initialisé ?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
        $xml =
    <<<'XML'
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE analyse SYSTEM "analyse_1_13.dtd">
    <analyse version="2.0">
    </analyse>
    XML;
     
        $doc      = DOMDocument::loadXML($xml);
        $note_elt = $doc->documentElement;  // analyse
     
    ?>
    # Dans la Création, tout est permis mais tout n'est pas utile...

  3. #3
    Invité de passage
    Enseignant Chercheur
    Inscrit en
    novembre 2012
    Messages
    2
    Détails du profil
    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : novembre 2012
    Messages : 2
    Points : 1
    Points
    1

    Par défaut

    Salut,

    et merci; Car j'avais pas compris que l'on pouvait démarrer un DOMDocument comme ceci.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •