Bonjour à tous,
J'essaye de supprimer un noeud d'un fichier xml avec DOM XPath.J'ai lu plusieurs documentation sur le sujet mais je ne parviens pas à trouver la bonne syntax sur pour appeler removeChild.
Voici mon bout de code:
Voici le XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $query ='//w:sdt[./w:sdtPr/w:id/@w:val="1536237961"]'; $q_sdt = $xp->query($query); if($q_sdt->length) { $sdt = $q_sdt->item(0); //un var_dump ici m'affiche bien le contenu du noeud "sdt" que je veux supprimer $parent = $sdt->ParentNode; //un var_dump ici me renvoi "NULL" $deletenode = $parent->removeChild($sdt);//Cette ligne fait planter le script }
J'essaye de supprimer la balise <w:sdt> (ainsi que tous ses children) qui contient la balise <w:id w:val="1536237961" />
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 <w:body> <w:p w14:paraId="43124762" w14:textId="5B041BA7" w:rsidR="0084617E" w:rsidRDefault="004A14AD">...</w:p> <w:p w14:paraId="47A5B1E8" w14:textId="3AA6DBC3" w:rsidR="004A14AD" w:rsidRDefault="004A14AD"/> <w:sdt>...</w:sdt> <w:p w14:paraId="414A3E00" w14:textId="58395965" w:rsidR="00482170" w:rsidRDefault="00482170"/> <w:sdt> <w:sdtPr> <w:alias w:val="Paragraphe 1:"/> <w:tag w:val="PAR"/> <w:id w:val="1536237961"/> <w:placeholder>...</w:placeholder> </w:sdtPr> <w:sdtContent>...</w:sdtContent> </w:sdt>
Merci pour votre aide.
Cdlt,
AG
Partager