Bonjour,

Je bute sur la bizarrerie suivante :

Je veux remplacer le premier noeud, qui est un noeud texte, par un noeud paragraphe (le contenu ci-dessous est extrait d'une definition data dd qui permet de faire suivre un noeud texte par des noeuds balisés) :
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
<dd>Les protocoles suivants peuvent être installés sur demande :
      <ul>
        <li>Profibus DPV1</li>
        <li>deviceNet</li>
        <li>CANopen</li>
        <li>Ethernet – modbus</li>
        <li>Ethernet / IP</li>
        <li>Ethernet / IP 2 port</li>
        <li>Profinet IO</li>
        <li>Profinet IO 2 port</li>
        <li>Ethercat</li>
      </ul>
      <p class="Important"><strong>Important :</strong> Ces options doivent
      impérativement être demandées à la commande car elles nécessitent un
      boîtier spécifique.</p>
    </dd>
Pour ce faire, j'ai écrit le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$p = $module_content_xhtml -> createElement('p');
$newnode = $module_content_xhtml -> importNode($body -> firstChild, true);
$p -> appendChild($newnode);
$body -> firstChild -> parentNode -> replaceChild($p, $body -> firstChild);
($module_content_xhtml est le DOMDocument de travail, $body est le noeud <body> contenant le code xhtml devant être traité, hors balise dd.)

Le remplacement du noeud texte par un noeud paragraphe se fait bien, mais je perds le noeud ul qui suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
><p>Les protocoles suivants peuvent être installés sur demande :
      </p><p class="Important"><strong>Important :</strong> Ces options doivent impérativement être demandées à la commande car elles nécessitent un boîtier spécifique.</p>
Pouvez-vous s'il vous plaît m'expliquer la raison de ce comportement et m'indiquer comment obtenir le code xhtml complet ?

Un grand merci d'avance