Bonjour,
j'ai besoin de manipuler des fichiers XML en PHP. Par "manipuler" j'entends extraire des noeuds et en insérer.
Pour l'extraction : pas de souci avec XPath
Par contre, pour l'insertion, c'est un peu plus compliqué. Non pas que celà ne fonctionne pas, mais j'ai des souci de mise en forme de mon fichier.
Prenons un exemple de fichier XML source, dans lequel je dois insérer des données :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <A> <Objects> <Obj>foo</Obj> <Obj>bar</Obj> </Objects> </A>
Dans ce fichier je dois insérer un nouveau groupe de balise (que la DTD m'autorise bien entendu) afin d'obtenir ceci :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <A> <New> <Data1></Data1> <Data1></Data1> </New> <Objects> <Obj>foo</Obj> <Obj>bar</Obj> </Objects> </A>
Mais, après execution de mon script j'obtiens ça :
"XMLement" parlant c'est valide. La DTD est bien respectée. Par contre, mon fichier source qui était correctement indenté devient vite désordonné, d'où mes 2 questions :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <A> <Objects> <Obj>foo</Obj> <Obj>bar</Obj> </Objects> <New><Data1></Data1><Data1></Data1></New></A>
1-Est-il possible d'insérer mon groupe <New> directement sous <A>
2-Est-il possible d'indenter les balises insérée afin de conserver la lisibilité originale de mon fichier source?
Merci
Partager