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

C# Discussion :

getelementbyid non trouvé


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Développeur
    Inscrit en
    Janvier 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 232
    Par défaut getelementbyid non trouvé
    Bonjour,

    Voici mon fichier :
    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
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <racine>
      <SGBD nom='Oracle'>
        <Serveur>Nom du serveur oracle</Serveur>
        <Port>Numéro du port</Port>
        <Login>Nom </Login>
        <Pwd>Mot de passe</Pwd>
    	<type>connecté comme </type>
      </SGBD>
      <SGBD nom='Mysql'>
        <Serveur>Nom du serveur Mysql</Serveur>
        <Login>Nom </Login>
        <Pwd>Mot de passe</Pwd>
      </SGBD> 
    </racine>
    et voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            private void CmbSgbd_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (CmbSgbd.SelectedIndex != 0)
                {
                    //XmlElement MonXmlElement = MonDocXml.GetElementById(CmbSgbd.Text);
                    XmlElement MonXmlElement = MonDocXml.GetElementById("Oracle");
                    MessageBox.Show(MonXmlElement.OuterXml);
                }
            }
    Il m'est impossible d'arriver à récupérer l'élément de nom Oracle. j'ai essayé en changeant nom par ID avec toutes les casses possibles, impossible de récupérer l'élément Oracle.
    Merci pour vos éclaircissements.... il me semblait être resté cohérent avec la doc MSDN.
    Bonne soirée

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    je pense qu'il faut ajouter un DOCTYPE à ton fichier xml comme la documentation le montre : http://msdn.microsoft.com/en-us/libr...ementbyid.aspx


    Sinon, tu peux t'en sortir avec la méthode SelectSingleNode :
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    XmlElement MonXmlElement = (XmlElement)doc.documentElement.SelectSingleNode("SGBD[@nom='Oracle']");

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    a moins que tu ne développe spécifiquement pour le framework 2.0, il existe un namespace qui rend le travail sur les XML plus facile...

    System.Xml.Linq;

    si tu peux travailler avec le framework 3.5 ou supérieur.
    Dedans tu y trouvera des primitives de travail sur Xml commencant comme ceci XDocument, donc juste X au lieu de Xml.
    Ces écritures ont l'intérêt de se fondre avec Linq, et la recherche d'éléments dans le graph XML est également nettement simplifiée.
    Les méthodes Elements() ou Elements(XName name) permette d'obtenir les noeuds enfant dont la balise correspond au nom fourni particulièrement vite, plus que de devoir utiliser XPath de l'ancienne écriture.

  4. #4
    Membre éclairé
    Profil pro
    Développeur
    Inscrit en
    Janvier 2010
    Messages
    232
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2010
    Messages : 232
    Par défaut
    Merci pour les réponses, les solutions de Binoo ont renvoyé le résultat escompté. Je pense que la DTD permet d'identifier l'attribut ID.
    Je vais essayer demain la solution de cinemania.
    Bonne soirée

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

Discussions similaires

  1. [Plugin] Classe non trouvée au runtime
    Par toto_toto dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 15/02/2005, 10h36
  2. Création version client - fichiers non trouvés
    Par Pascal dans le forum WinDev
    Réponses: 7
    Dernier message: 03/12/2004, 11h34
  3. [debutant][Classpath][Linux] Classe non trouvée
    Par oghma777 dans le forum Général Java
    Réponses: 5
    Dernier message: 15/10/2004, 21h26
  4. COleDispatchDriver et Afx.h -> LPCSTR non trouvé
    Par Bayard dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/09/2004, 08h42
  5. [Debutant][Install][VS]erreur sur fichier non trouvé.
    Par silvermoon dans le forum DirectX
    Réponses: 4
    Dernier message: 16/07/2004, 20h59

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