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 :

Changer le nom d'un attribut ou d'une variable


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2014
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Changer le nom d'un attribut ou d'une variable
    Bonsoir,

    J'importe une donnée @type d'un fichier XML-TEI et je souhaite lui donner un autre nom qui me sera utilisé pour l'import dans my BD mysql.
    J'utilise SimpleXMLElement.

    1. Exemple de données importées, @type et string :
    Code php : 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
    <?php
    $string = <<<XML
    <lg>
    <l><w type="verb">šbʿ</w></l>
    </l>
    </lg>
    XML;
     
    $xml = simplexml_load_string($string);
     
    $result = $xml->xpath("//lg/l/w[@type='verb']");
    while(list( , $node) = each($result)) {
    echo 'verb',$node,"<br>";
     
    }
    ?>

    Ce n'est pas le $node que je souhaite changer, mais le @type=verb qui est donc dans mon fichier XML-TEI car dans ma bd mySQL existante, la colonne porte un autre nom.

    Schématiquement :
    @type = 'verb'
    $var = 'extracted' (qui sera le nom de ma colonne dans mySQL).

    J'ai cherché autant que j'ai pu “change attribute name SImpleXMLElement php", mais rien trouvé Je dois mal m'exprimer sans doute.

    Encore mille mercis !

    McCallum

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 021
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 021
    Points : 2 278
    Points
    2 278
    Par défaut
    Salut,
    tu peux être plus précise dans ce que tu veux faire ?
    De ce que je comprends, il faudrait une table de correspondance entre les attributs TEI et les champs dans la BDD, ensuite tu pourrais parcourir tous les attributs, ex. :

    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
    <?php
    $string = "<lg><l>
        <w lemma=\"je\" pos=\"PRO\">J</w>
        <w lemma=\"avoir\" pos=\"ADV\">eu</w>
        </l>
        </lg>";
     
    $xml = simplexml_load_string($string);
     
    // table de correspondance
    $data['pos'] = 'nomChampsPOSDansBDD';
    $data['lemma'] = 'nomChampsLemmeDansBDD';
     
    $result = $xml->xpath("//lg/l/w");
    while(list( , $node) = each($result)) {
        $sqlFields = array();
        foreach($node->attributes() as $attrName => $attrValue) {
           $sqlFields[] = $data[$attrName].' = "'.$attrValue.'"';
        }
        $sql[] = 'INSERT into table SET '.implode(', ', $sqlFields);
    }
     
    echo '<pre>';
    var_dump($sql);
    echo '</pre>';
    ?>
    Dans mon souvenir, @type=verb n'est pas TEI ?
    Vive les roues en pierre

Discussions similaires

  1. Changer la valeur de l'attribut src d'une video
    Par chtrousselle dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 14/04/2012, 19h12
  2. Récupérer le nom du fichier en cours dans une variable.
    Par quiky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/05/2009, 13h28
  3. Attribution de valeur à une variable
    Par zed80 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/03/2009, 09h23
  4. Réponses: 1
    Dernier message: 04/04/2007, 11h03
  5. Réponses: 3
    Dernier message: 19/01/2007, 17h30

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