IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Fichier XML non lu en entier et xsl qui ne semble pas s'appliquer


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Fichier XML non lu en entier et xsl qui ne semble pas s'appliquer
    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.

    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
    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.
    (Tout ce qui est "forme" ne s'affiche pas )

    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>
    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
    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>
    Par contre le xsl ne s'applique pas non plus 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

  2. #2
    Invité
    Invité(e)
    Par défaut
    J'avais trouvé la réponse dans la foulée : enlever documentElement dans le code.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/10/2008, 17h46
  2. Fichier xml non conforme
    Par fatjoe dans le forum Format d'échange (XML, JSON...)
    Réponses: 15
    Dernier message: 03/06/2008, 02h31
  3. fichier xml non pris en compte : redémarrage obligé ..
    Par coucou78 dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 16/04/2008, 10h28
  4. [C#]Datagrid à partir de fichier XML(non formaté)
    Par nutball dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/07/2006, 23h25
  5. fichier xml non valide ...
    Par izbad dans le forum XML/XSL et SOAP
    Réponses: 9
    Dernier message: 13/04/2006, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo