Bonjour,
Déjà désolée si la question a déjà été posée mais je n'ai pas trouvé de réponse.
J'ai besoin de lire un fichier xml, de lui appliquer son xsl pour avoir une belle mise en page et enfin d'afficher le tout dans ma page asp codée en vbscript.
Dans le résultat affiché par la dernière ligne, je n'ai pas tout mon fichier XML : en fait dès qu'il y a une ligne avec un attribut, elle n'est plus affichée.
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
17
18
19
20
21
22
23
24 Dim xmlLogToDisplay, rootChildNodes, strReturn, xmlStyleSheet, oCryptoApi, nodeTemp '-- Lire un document XML Set xmlLogToDisplay = CreateObject("Microsoft.XMLDOM") Set xmlStyleSheet = CreateObject("Microsoft.XMLDOM") 'La desactivation du mode asynchrone permet de charger entièrement le document en mémoire avant le traitement xmlLogToDisplay.async = "false" xmlStyleSheet.async = "false" 'Charger le document en mémoire If xmlLogToDisplay.Load("MonSite/styles/log_xml.xml") Then xmlStyleSheet.Load("MonSite/styles/log_xml.xsl") strReturn = xmlLogToDisplay.documentElement.transformNode(xmlStyleSheet.documentElement) Set xmlStyleSheet = Nothing Set xmlLogToDisplay = Nothing Else strReturn = "Le document n'a pas pu être chargé !" End If response.write strReturn
(Tout ce qui est "forme" ne s'affiche pas)
Et voilà le xsl que je veux appliquer :
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
17
18
19 <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type='text/xsl' href='MonSite\log_xml.xsl'?> <fichier_log xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <log> <connexion> <date_heure>2010-04-20 09:39:58</date_heure> <IP>127.0.0.1</IP> <login>guest</login> </connexion> <demande> <forme method="GET"> <parametre name="strModule"/> <parametre name="strAction"/> <parametre name="strPw" value="monPass"/> </forme> <texte>home : access denied</texte> </demande> </log> </fichier_log>
Par contre le xsl ne s'applique pas non plus
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="2.0" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="/"> <html> <head> </head> <body> <table border="1" width="1200px" style="font-family:Arial; font-size:9pt; border-collapse:collapse; border-spacing:0;"> <tr> <th colspan="7">Connexion</th> <th colspan="3">Demande</th> </tr> <tr> <th>Date</th> <th>IP</th> <th>Login</th> <th>Paramètres<br />(nom = valeur)</th> <th>Texte</th> </tr> <xsl:for-each select="fichier_log/log"> <tr> <td><xsl:value-of select="connexion/date_heure" /></td> <td align="center"><xsl:value-of select="connexion/IP" /></td> <td align="center"><xsl:value-of select="connexion/login" /></td> <td align="center"><xsl:value-of select="demande/forme/@method" /></td> <td> <xsl:for-each select="demande/forme/parametre"> <span><xsl:value-of select="@name" /></span> = <span><xsl:value-of select="@value" /></span><br /> </xsl:for-each> </td> <td><xsl:value-of select="demande/texte" /></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>toutes les valeurs du xml sont collées les unes aux autres...
Voilà, alors si vous voyez d'où provient mon problème je suis preneuse !!
Merci par avance
Partager