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

ASP.NET Discussion :

[C#]Transformation XSL


Sujet :

ASP.NET

  1. #1
    Membre régulier Avatar de boleduch
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 124
    Points
    124
    Par défaut [C#]Transformation XSL
    Bonjour,

    Voilà j'essaye de produire une page HTML depuis un fichier XML par une transformation XSL, mais le résultat n'est pas flamboyant....

    Voilà mes fichiers :

    XML :

    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
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <clients xmlns="http://tempuri.org/clients.xsd">
       <client no_cli="GAS84903285">
    		<login>login</login>
    		<password>9456ed9576ad6716b0899162befe0dd0</password>
    		<email_cli>noemail@noemail.org</email_cli>	
    		<fax_cli>+41000000</fax_cli>
    		<loc_cli>Ici</loc_cli>
    		<nom_cli>Nom</nom_cli>
    		<npa_cli>0000</npa_cli>
    		<pays_cli>XX</pays_cli>
    		<rue_cli>Rue</rue_cli>
    		<tel_cli>+41000000</tel_cli>
    	</client>
    </clients>
    XSLT :

    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
    <?xml version="1.0" encoding="ISO-8859-1"?>
     
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxml="urn:schemas-microsoft-com:xslt">
     
    	<xsl:output method="html" encoding="ISO-8859-1" />
     
    		<xsl:template match="/">
    			<xsl:apply-templates select="/client" />
    		</xsl:template>
     
    		<xsl:template match="client">
     
    			<xsl:value-of select="login" />
     
    		</xsl:template>
     
    </xsl:stylesheet>
    Et le code en C#

    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
     
    // Transformation XSL 
    XslTransform xtClients =  new XslTransform() ;
    xtClients.Load ( Session["path"].ToString() + \\extranet\\xml\\clients.xslt" ) ;
     
    XPathDocument xpdClients = new XPathDocument( Session["path"].ToString() + "\\extranet\\xml\\clients.xml" ) ;
     
    XmlUrlResolver xurClients = new XmlUrlResolver() ;
     
    XmlReader xrClients = xtClients.Transform ( xpdClients , null , xurClients ) ;
     
    while ( xrClients.Read() )
    {
        litXslClient.Text += xrClients.Value ;
    }
    Voilà ca me parait vraiment tout bête, mais ca fonctionne pas. Le XmlReader est "vide"...

    Merci d'avance pour vos réponses.
    Si l'on sait exactement ce qu'on va faire, à quoi bon le faire ? Picasso

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Salut, est-ce que le XSLT est correct ?
    Je te pose la question pour savoir où regarder : du côté du XSL ou du côté code C#.
    Pour savoir si le XSLT est bon, tu peux utiliser un petit utilitaire bien sympa qui s'appelle XML Cooktop, tu ouvre un fichier XML, tu ouvre un fihcier XSL et tu visualise le résultat : bien pratique !
    a+

  3. #3
    Membre régulier Avatar de boleduch
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 124
    Points
    124
    Par défaut
    Hello,

    Merci pour ta réponse. Effectivement pas mal ce soft, et j'ai pu voir que rien ne s'affiche, donc le problème vient soit du XML soit du XSLT. Je débute en XSL, je pensais avoir au moins compris les bases, mais apparement c'est pas le cas
    Si l'on sait exactement ce qu'on va faire, à quoi bon le faire ? Picasso

  4. #4
    Membre régulier Avatar de boleduch
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 124
    Points
    124
    Par défaut
    Alors le problème viens de l'espace de nom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns="http://tempuri.org/clients.xsd"
    Si je l'enlève, la transformation fonctionne dans XML Cooktop. Par contre je n'arrive plus à lire mon fichier XML dans le code C#....franchement je comprends pas grand chose là...
    Si l'on sait exactement ce qu'on va faire, à quoi bon le faire ? Picasso

  5. #5
    Membre régulier Avatar de boleduch
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 124
    Points
    124
    Par défaut
    Si j'enlève l'espace de nom et le "targetNamespace" dans le XMLSchéma tout fonctionne....j'ai absoluement rien compris au pourquoi du comment mias bon, je mets résolu quand meme...
    Si l'on sait exactement ce qu'on va faire, à quoi bon le faire ? Picasso

  6. #6
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    hello, désolé de pas pouvoir t'aider plus, mais si tu veux vraiment comprendre (c'est toujours mieux !!!), tu devrais aller poser la question dans le forum XML.
    a+

  7. #7
    Membre régulier Avatar de boleduch
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 124
    Points
    124
    Par défaut
    En tout cas merci pour le petit soft, l'est bien pratique! Et c'est sur que ca m'arrangerait de comprendre, j'irai faire un tour du coté du forum XML dans pas longtemps je pense
    Si l'on sait exactement ce qu'on va faire, à quoi bon le faire ? Picasso

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

Discussions similaires

  1. [JDOM] Transformation XSL et entitées
    Par Vignot dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 09/02/2006, 16h50
  2. [XSL] Transformation xsl et jeu de caractères cyrillique
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/09/2005, 11h41
  3. Utilisation de MSXML pour la transformation XSL
    Par Supergizmo dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 25/07/2005, 14h02
  4. [PLUGIN] Plugin de transformation XSL ?
    Par elitost dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 20/10/2004, 09h39
  5. Transformation XSL et caractères spéciaux
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 4
    Dernier message: 28/04/2003, 10h38

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