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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Utilisation de SimpleXML ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut [SimpleXML] Utilisation de SimpleXML ?
    Bonjour à tous,

    j'ai posté dans le forum XML, mais n'ayant pas de réponses et suite à un conseil d'un des responsables XML (ou du responsable), voici mon post :

    je n'ai pas trouvé d'aide sur le net à part :
    http://www.php.net/manual/fr/ref.simplexml.php

    Pourriez-vous me dire :

    - s'il est possible de créer un fichier XML à partir d'un WXS (W3C XML
    Schema) ? Mon script "consulterait" mon WXS, cela me permettrait de
    "générer" un formulaire qui se mettrait à jour malgré la modification d'un
    élément de mon WXS. Cela me permettrait par exemple de générer
    automatiquement des listes déroulantes à partir de mes listes de choix
    (exemple : M. ou Mme ou Mlle) ;

    - comment est-il possible de modifier un fichier XML existant ? Voici un
    extrait de mon code, mais il ne veut pas modifier mon fichier XML, alors que
    la fonction "asXML()" renvoit bien "true" ??? Donc mon script "pense" que le
    fichier XML a bien été modifié, alors que ce n'est absolument pas le cas !

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    <?php
    session_start();
     
    if ((!empty($_POST['nom'])) && (!empty($_POST['prenom'])) &&
    (!empty($_POST['date_naiss'])) && (!empty($_POST['lieu_naiss'])) &&
    (!empty($_POST['depart'])) && (!empty($_POST['nation'])) &&
    (!empty($_POST['statut'])) && (!empty($_POST['numero'])) &&
    (!empty($_POST['voie'])) && (!empty($_POST['cp'])) &&
    (!empty($_POST['ville'])) && (!empty($_POST['pays'])) &&
    (!empty($_POST['tel'])) && (!empty($_POST['port'])) &&
    (!empty($_POST['fax'])) && (!empty($_POST['courriel']))) {
     
        function supprAccents($chaine) {
     
    return(strtr($chaine,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn"));
        }
     
        $fic = "id_".$_SESSION['num'].".xml";
     
        if (file_exists($fic)) {
            $xml = simplexml_load_file($fic);
        }
        else {
            echo "Impossible d'ouvrir ce fichier XML.";
        }
     
        $xml->PROFIL->IDENTITE->CIVILITE = utf8_encode($_POST['civilite']);
        $xml->PROFIL->IDENTITE->NOM = utf8_encode(strtoupper($_POST['nom']));
        $xml->PROFIL->IDENTITE->PRENOM = utf8_encode(ucfirst($_POST['prenom']));
        $xml->PROFIL->COORDONNEES->COURRIEL =
    utf8_encode(strtolower(supprAccents($_POST['courriel'])));
     
        $xml->PROFIL->PRESENTATION = utf8_encode($xml->PROFIL->PRESENTATION);
     
        for($i=0 ; $i<4 ; $i++) {
            $xml->CV->INFOS_DIVERSES->DIVERS[$i] =
    utf8_encode($xml->CV->INFOS_DIVERSES->DIVERS);
        }
     
        $ok = $xml->asXML();
     
    // if (($xml->asXML($fic)))
        if ($ok == false)
            {
            echo "
                <script language=\"JavaScript\">
                    window.alert(\"Une erreur est survenue lors de la
    modification, merci de recommencer.\");
                    history.go(-1);
                </script>
            ";
            }
        else {
            echo "
                <script language=\"JavaScript\">
                    window.alert(\"Modification du CV effectuée.\");
                history.go(-1);
                </script>
            ";
        }
    }
    else {
        echo "
            <script language=\"JavaScript\">
                window.alert(\"Attention, vous devez remplir tous les champs.\");
                history.go(-1);
            </script>
        ";
    }
    ?>

    EDIT : J'ai bien vu le tutoriel, mais il est trop succint pour ce que je souhaite faire.


    Merci d'avance,
    Gôm.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 882
    Points : 691
    Points
    691
    Par défaut
    hello

    pour ce que tu veut faire, il faut que tu utilise le SDO (tu a de la chance une versio stable est dispo 1.02) , tu pourra creé/modifié un fichier xml a partir d'un xsd,
    mais pour beneficier de cette extension il faut que tu ai la main sur le serveur, car a mon avis aucun hebergeur ne le fournie ou quasiment.

    pour les testes utilise l'operateur
    ===
    et tente des dump, pour voir si tes valeur sont bien setter

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Je n'ai malheureusement pas le choix, je dois rester chez Free, donc chez un hébergeur gratuit ... donc pas d'accès aux serveurs !

    Bon, tant pis pour ma question ...

    Est-il possible de me dire comment faire fonctionner mon script, sans la contrainte de "compatibilité automatique" avec le XML-Schema ?

    La compatibilité entre le XML et sa grammaire sera faite à la main !

    Mais merci pour cette piste.

Discussions similaires

  1. [SimpleXML] Utilisation de simplexml pour lire un document
    Par sab_etudianteBTS dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 20/02/2008, 14h44
  2. [SimpleXML] utilisation de xpath
    Par merlin31 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 19/10/2007, 15h32
  3. [SimpleXML] Utilisation de simplexml_load_file()
    Par Forza Correza dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 17/07/2007, 15h45
  4. [SimpleXML] Utilisation de la fonction simplexml_load_file()
    Par defacta dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 02/11/2006, 11h20
  5. [SimpleXML] Utilisation chez OVH
    Par vodnok dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/11/2005, 09h52

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