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 :

DOM - Dupliquer une balise XML en modifiant des attributs


Sujet :

Langage PHP

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Avril 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Avril 2017
    Messages : 46
    Par défaut DOM - Dupliquer une balise XML en modifiant des attributs
    Bonjour à tous,

    Je travaille sur de la manipulation de fichier XML et je cherche à dupliquer une balise XML en la copiant juste en dessous et en modifiant uniquement 2 attributs dans cette balise.

    Pour illustrer cela, voici le xml:

    Code XML : 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
    <w:sdt>
     <w:sdtPr>
      <w:alias w:val="NOM"/>
      <w:tag w:val="VAR"/>
      <w:id w:val="-205336718"/>
      <w:placeholder>
         <w:docPart w:val="DefaultPlaceholder_-1854013440"/>
      </w:placeholder>
     </w:sdtPr>
     <w:sdtEndPr/>
     <w:sdtContent>
      <w:p w14:paraId="0D28C79D" w14:textId="3EF1D9FD" w:rsidR="003F1BE5" w:rsidRDefault="00FB0DCB">
       <w:r>
        <w:t>NOM</w:t>
       </w:r>
      </w:p>
     </w:sdtContent>
    </w:sdt>

    Je cherche à dupliquer la balise sdt et tout ce qu'elle contient.

    Pour cela j'arrive bien à venir sélectionner la balise sdt qui m'intéresse en la repérant grace à son attribut ID via le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $dom = new DOMDocument();
    $dom->loadXML($content);
     
    $xp = new DOMXPath($dom);
    $xp->registerNameSpace('w', 'http://schemas.openxmlformats.org/wordprocessingml/2006/main');
     
    $q_sdt ='//w:sdt[./w:sdtPr/w:id/@w:val="-205336718"]';
    $sdt = $xp->query($q_sdt)->item(0);
    En revanche je ne vois pas du tout comment venir la dupliquer juste en dessous et en remplaçant la balise ID par la valeur -205336718_1

    J'ai besoin d'être mis sur une piste, merci de votre aide.

    AL
    Images attachées Images attachées  

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

Discussions similaires

  1. Affichage des attributs d'une balise XML
    Par derfez dans le forum Linq
    Réponses: 4
    Dernier message: 07/07/2010, 14h06
  2. Comment récupérer le nom d'une balise XML avec DOM ?
    Par Predatorus26 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 28/05/2010, 15h54
  3. [DOM] Affichage d'une balise XML
    Par worolf dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 02/04/2008, 16h59
  4. [xsl] mauvaise interprétation du contenu d'une balise XML
    Par Cédric B. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 27/01/2006, 12h59
  5. [JDOM] données un attribut à une balise xml
    Par noobiewan kenobi dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 09/07/2004, 15h54

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