Bonjour a toutes et a tous, j'ai une petite question concernant le déplacement d'un noeud.
En effet j'aimerais pouvoir modifier mon fichier XML qui est le suivant:
Voici mon fichier:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="178.73px" height="145.518px" viewBox="0 0 178.73 145.518" enable-background="new 0 0 178.73 145.518" xml:space="preserve"> <g id="stripe1"> <line x1="0" y1="0" x2="90" y2="100" fill="none" stroke="#000000" stroke-width="5"/> </g> <g id="stripe2"> <line x1="20" y1="20" x2="90" y2="100" fill="none" stroke="#000000" stroke-width="5"/> </g> <g id="stripe3"> <line x1="40" y1="40" x2="90" y2="100" fill="none" stroke="#000000" stroke-width="5"/> </g> <g id="stripe4"/>
Et voilà le résultat que j'aimerais obtenir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="178.73px" height="145.518px" viewBox="0 0 178.73 145.518" enable-background="new 0 0 178.73 145.518" xml:space="preserve"> <g id="stripe1"> <line x1="0" y1="0" x2="90" y2="100" fill="none" stroke="#000000" stroke-width="5"/> </g> <g id="stripe2"> <line x1="40" y1="40" x2="90" y2="100" fill="none" stroke="#000000" stroke-width="5"/> </g> <g id="stripe3"> <line x1="20" y1="20" x2="90" y2="100" fill="none" stroke="#000000" stroke-width="5"/> </g> <g id="stripe4"/>
Donc en fait j'ai modifier mon fichier en échangeant les fils de me "stripe2" et "stripe3"
Alors j'utilise le "stripe4" comme moyen de transition. Je fais un Clone de ma "stripe3" et ainsi je pourrais faire un replaceChild entre la "stripe2" et la "stripe3".
Voilà comment je precede dans mon fichier php:
Je doit surement faire erreur car ce la ne fonctionne pas. Est ce que quelqu'un aurait une petite astuce pour m'aider sur ce coup là svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $dom = new DomDocument; $dom->load("monSVG.svg"); $elem = $dom->getElementsByTagName(g)->item(1); $child = $elem->childNodes(); $stripe5 = $dom->getElementsByTagName(g)->item(4); $stripe5->appendChild($child->cloneNode(true)); $dom->save('monSVG.svg');
Ou si un autre moyen existe afin que je puisse arriver a mes fins ^^
Je suis preneur de tous commentaires !
Merci a tous de m'avoir lu et bonne journée à vous !
Partager