Bonjours a tous,
je n'arrive pas a modifié mon xml via xsl (xml->xml). Donc je part sur un exemple très minim pour voir ou je me plante.
Je voudrais donc, a l'appele de ma page php qu'il prenne un xml et un xsl et m'enregistre un nouveau xml.
Dans l'état, ça me ressort le xml d'origine mais je ne sait pas si c'est due au xsl ou au code php (rappel: php5)
Je ne trouve (et je n'ai...) que des exemples en sortie html et je tourne un peut en rond, un coup de main serais bien venue.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="UTF-8" ?> <tout> <contenu id="1"> <sous>sous contenu 1</sous> </contenu> </tout>
Code xsl : 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 <xsl:stylesheet version="1.0" xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:output output method="xml" encoding="utf-8"/> <xsl:template match="tout"> <test> <ici>Ca marche</ici> <xsl:apply-templates /> </test> </xsl:template> <xsl:template match="contenu"> <ici>Ca marche aussi</ici> <xsl:apply-templates /> </xsl:template> </xsl:stylesheet>
Code php : 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
19
20
21
22
23
24
25
26
27 <!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <title>test xsl</title> </head> <body> <!-- Document --> <p>avant php</p> <?php $myxml = new domDocument(); $myxml->load('xmltest.xml'); $myxsl = new domDocument(); $myxsl->load('xsltest.xsl'); $myproc = new XSLTProcessor(); $myproc->importStyleSheet($myxsl); $myproc->transformToXml($myxml); // la ca me ressort le fichier xml d'origine $myxml->save('restest.xml'); ?> <p>apres php</p> </body> </html>
Merci
Partager