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 :

Lire et écrire dans un fichier xml [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut Lire et écrire dans un fichier xml
    Bonjour,

    J'ai le fichier xml suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!--Définition du fond d'écran en fonction du groupe et de l'utilisateur-->
    -<groupe> 
      -<agence nom="MonAgence"> 
          -<Utilisateur> 
               <prenom>Sheira</prenom> 
               <fond>fond1.jpg</fond> 
         </Utilisateur> 
      </agence> 
    </groupe>
    J'aimerai lire le fichier de façon à:

    1) récupérer la valeur de l'attribut nom de l'agence (ici: MonAgence)
    2) récupérer le prenom et le fond de l'Agence (MonAgence) en question


    J'aimerai pouvoir écrire dans le fichier de façon à:

    1)Si je ne trouve pas le bon nom d'agence, j'aimerai pouvoir rajouter de nouveau noeud "Agence" dans le groupe avec un noeud utilisateur fond

    2) si je trouve la bonne agence, je veux pouvoir rajouter uniquement un noeud utilisateur si je ne trouve pas l'utilisateur en question.

    J'espère avoir été assez clair.

    Voilà comment je procède pour récupérer mes valeur mais ça ne fonctionne pas, ma dernière instruction ne m'affiche rien:
    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
    <% @Page Language="C#" Debug="true" %>
    <% @Import Namespace="System" %>
    <% @Import Namespace="System.Xml" %>
    <% @Import Namespace="System.Xml.XPath" %>
    <% @Import Namespace="System.IO" %>
     
    <%
    //public searchBackGround(string groupe, string utilisateur)
     
    {
     
    	//Pour Lire
    	String filename = "fond.xml";
    	XPathDocument docXml = new XPathDocument(HttpContext.Current.Server.MapPath(filename));
    	XPathNavigator lir = docXml.CreateNavigator();
    	XPathNodeIterator iterateur = lir.Select("groupe");
     
    	while (iterateur.MoveNext())
    	{
    		Console.WriteLine(iterateur.Current.SelectSingleNode("agence").Value);	
     
    	}
     
     
    }
     
     
    %>
    Merci d'avance pour votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    ce que tu essayes de lire est un attribut utilise la classe XmlAttribute pour récupérer cette donnée, sinon pour tout ce qui est recherche je te conseil d'utiliser LinqToXML qui t'évitera de taper des gros pavés pour tes recherches

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    Auriez-vous des exemples je suis une novice en programmation C#?
    Est-ce que LinkToXml est disponible avec n'importe quelle version du framework?

    Merci d'avance.

  4. #4
    Membre actif
    Homme Profil pro
    Architecte C#
    Inscrit en
    Février 2003
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte C#

    Informations forums :
    Inscription : Février 2003
    Messages : 78
    Par défaut
    Depuis la version 3 ou 3.5, oui, c'est intégré en standard.

    Un petit exemple d'utilisation ici :
    http://blog.developpez.com/index.php...le=linq_to_xml

    et une plus ample définition provenant du msdn là:
    http://msdn.microsoft.com/fr-fr/library/bb387061.aspx

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 488
    Par défaut
    Ok pour utiliser LinqToXml.

    Par contre voilà l'erreur que j'ai :
    Le type ou le nom d'espace de noms 'Linq' n'existe pas dans l'espace de noms 'System.Xml' (une référence d'assembly est-elle manquante ?)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ligne 4 :  <% @Import Namespace="System.Xml.Linq" %>
    Alors que j'ai la version 3.5.1 du Framework .Net??

  6. #6
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    fait un clique droit sur ton projet -> Ajouter une référence et dans l'onglet .net choisi System.Xml.Linq

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

Discussions similaires

  1. Lire et écrire dans un fichier XML mutualisé!
    Par Invité dans le forum VB.NET
    Réponses: 3
    Dernier message: 27/10/2014, 10h19
  2. lire et écrire dans un fichiers de signature XML
    Par masterdash dans le forum XML/XSL et SOAP
    Réponses: 0
    Dernier message: 17/01/2013, 21h19
  3. [XML/Glib/GTK+] Comment lire et écrire dans un fichier XML
    Par Skarsnick dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 19/08/2009, 09h20
  4. [Xerces] Lire et écrire dans un fichier XML
    Par sKy_92310 dans le forum XML
    Réponses: 4
    Dernier message: 24/01/2009, 19h44
  5. [Rech. Comp.] Lire et écrire dans des fichiers XML
    Par Rodrigue dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/08/2005, 20h48

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