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 :

Problème affichage avec les Xpath; system.web.ui.webcontrols.xmldatasourcenodedescriptor


Sujet :

ASP.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Problème affichage avec les Xpath; system.web.ui.webcontrols.xmldatasourcenodedescriptor
    Bonjour,

    je suis entrain de faire une application web (en c# et aspx) et j'utilise VS 2008.
    j'ai utiliser un dropdownlist pour faire un menu déroulant ,je veux utiliser un fichier xml pour alimenter mon menu déroulant.
    j'ai fait le lien avec vs 2008 et mon fichier xml et j'ai utiliser un Xpath pour filtrer mes donner de mon fichier XML.

    mon fichier XML est composer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <ListeProjets>
    	<projets>
    		<code>1</code>
    		<nom>PROJET TEST1</nom>
    		<repertoire>TEST1</repertoire>
    	</projets>
    	<projets>
    		<code>2</code>
    		<nom>Refonte Cardex VG</nom>
    		<repertoire>CARDEX</repertoire>
    	</projets>
           ..........
           ..........
    </ListeProjets>
    Mon xpath est /ListeProjets/projets/nom
    car je veux afficher les nom dans ma liste. après avoir lancer il m'affiche dans mon menu déroulant : system.web.ui.webcontrols.xmldatasourcenodedescriptor
    j'ai bien le nombre de ligne donc est composer mon fichier XML mais tous avec le même libeller.

    si quelqu'un pourrais m'Help =D

    Mercii
    Cordialement

    __________________
    ‎"Quand le dernier arbre sera abattu, la dernière rivière empoisonnée,
    le dernier poisson pêché, alors vous découvrirez
    que l'argent ne se mange pas. "

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Cette question devrait être déplacée de forum xml/xsl et soap à forum asp.net.

    Le problème est que vous auriez mal à faire un data binding autrement que des propriétés (attributs) des éléments référés par le xpath. L'une des solutions est d'écrire une methode propriétaire d'évenement Page_Load dans le code-behind ou inline.

    Je peux vous montrer une esquisse comme "inline".
    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
    <script language="cs" runat="server" >
    void Page_Load(object sender, EventArgs e) {
     
        String sxpath="/ListeProjets/projets";
        XmlDocument xdoc=new XmlDocument();
     
        //supposition sous-entendue sur la location du fichier nommé data.xml par exemple
        xdoc.Load(Server.MapPath("")+"\\data.xml");
     
        XmlNodeList xnodelist = xdoc.SelectNodes(sxpath);
        if (xnodelist.Count > 0) {
            foreach (XmlNode node in xnodelist) {
                ListItem i=new ListItem();
                i.Text=((XmlElement)node).SelectSingleNode("nom").InnerText;
                i.Value=((XmlElement)node).SelectSingleNode("code").InnerText;
                //supposition sous-entendue le ID étant LeID du control DropDownList
                LeID.Items.Add(i);
            }
        }
    }
    </script>
    Il y a bien des autres solutions certainement , mais je laisse pour les autres à enrichir...

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci je les utiliser et sa fonction très bien =)

    j'ai une toute dernier question =) :
    toujours avec le même fichier 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
      <ListeProjets>
    	<projets>
    		<code>1</code>
    		<nom>PROJET TEST1</nom>
    		<repertoire>TEST1</repertoire>
    	</projets>
    	<projets>
    		<code>2</code>
    		<nom>Refonte Cardex VG</nom>
    		<repertoire>CARDEX</repertoire>
    	</projets>
    	<projets>
        .....
        .....
        </ListeProjets>
    mais j'aimerais utiliser aussi la valeur repertoire, j'ai déjà la value pour le code que je peux utiliser. Mais j'ai besoin de pouvoir récupérer la valeur de répertoire comment dois-je procéder

    Cordialement

    __________________
    ‎"Quand le dernier arbre sera abattu, la dernière rivière empoisonnée,
    le dernier poisson pêché, alors vous découvrirez
    que l'argent ne se mange pas. "

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    mais j'aimerais utiliser aussi la valeur repertoire, j'ai déjà la value pour le code que je peux utiliser. Mais j'ai besoin de pouvoir récupérer la valeur de répertoire comment dois-je procéder
    Pour rapporter la donnée de repertoire, c'est pareil:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((XmlElement)node).SelectSingleNode("repertoire").InnerText;
    Du coup, il y a trois données qui apparemment sont utiles pour vous. Pourtant, ListItem se caractérise par deux paramètres, ses Texte (destiné à être consumé principalement côté client) et Value (destiné à être consumé principalement côté serveur). Donc, vous faites des combinaisons des premières et redistribuez aux derniers. Comment? c'est à vous de décider.

Discussions similaires

  1. Problème affichage avec les Layouts
    Par TWEESTY dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 18/02/2011, 01h01
  2. Problème d'affichage avec les float
    Par Poseidon62 dans le forum Ada
    Réponses: 9
    Dernier message: 04/05/2007, 14h03
  3. Problème d'affichage avec les lumières
    Par Glosialabolas dans le forum OpenGL
    Réponses: 3
    Dernier message: 02/11/2006, 18h46
  4. [PHP-JS] Problème d'affichage avec les ', ê, é,è
    Par cyberdevelopment dans le forum Langage
    Réponses: 4
    Dernier message: 28/07/2006, 13h49
  5. Réponses: 6
    Dernier message: 19/05/2005, 11h06

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