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] Ajouter une balise enfant à la balise parent


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [SimpleXML] Ajouter une balise enfant à la balise parent
    Bonjour,

    Voilà mon xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Root>
      <AO>
        <texteCourant>Met vel iure tem zzrilit prat <italique>laorperit</italique> erilit laore vel estrud dunt lum iurem in ut incidui ex enim iusci et, verostie et, sit il ulla facipisim dunt dunt praessed ex ex exercin ullandreet laore tat laorpero odolorp eratis dipsumsandit iriurem zzrit accum dolorpero do consed do elis nim ilit utpat esequat. Ustrud dolore feugait aliquipiscip estrud tat.</texteCourant>
        <texteCourant>Eratis dipsumsandit iriurem zzrit accum dolorpero do consed do elis nim ilit utpat esequat.</texteCourant>
      </AO>
    </Root>
    Voilà ma fonction pour parser le xml :

    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
    function import() {
      $article = array();
      $article['texte'] = '';
     
      $xml = new SimpleXMLElement($xmlfile, null, true);
      $a = $xml->AO;
     
      foreach($a->children() as $child) {
        if($child->getName() == 'texteCourant') {
          foreach($child->children() as $subchild) {
            if($subchild->getName() == 'italique') {
              $article['texte'] .= '<i>'.$subchild.'</i>';
            }
          }
        }
      }
      return $article;
    }
    Mon problème vient du fait que je ne sais pas comment récupérer le contenu de <textCourant> une fois que j'ai récupéré le contenu de <italique>.

    Merci d'avance pour votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 144
    Points : 161
    Points
    161
    Par défaut
    Ben $child ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Oui merci je sais que je peux avoir le contenu de <textCourant> avec $child.

    Mais ce que je veux faire c'est récupérer dans la variable $article['texte'] le texte courant et mettre entre <i></i> quand il rencontre une balise <italique>, pour obtenir à la sortie :

    <p>mon texte courant <i>un mot en italique</i> la suite de mon texte courant</p>

    J'espère que c'est plus claire.

    Merci.

Discussions similaires

  1. Réponses: 11
    Dernier message: 05/07/2013, 09h11
  2. ajouter une balise à la fin d'un document
    Par africanwinners dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2010, 16h57
  3. [JDOM] Ajouter une balise xmlns
    Par damdam44 dans le forum Format d'échange (XML, JSON...)
    Réponses: 29
    Dernier message: 03/06/2008, 09h03
  4. [JDOM] ajouter une balise
    Par aroua dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 22/04/2008, 11h52
  5. [CKEditor] Comment ajouter une balise HTML personnalisée
    Par roadruner dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 11/05/2007, 15h34

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