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

Silverlight Discussion :

Ecrire dans un fichier Xml?


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut Ecrire dans un fichier Xml?
    Bonjour,
    J'ai un fichier Xml dans mon répertoir ClientBin dans lequel je souhaiterai rajouter du texte.

    J'arrive à lire les infos présente dans ce fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    WebClient xmlClient = new WebClient();
     
                xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded);
                xmlClient.DownloadStringAsync(new Uri("Fichier.Xml", UriKind.RelativeOrAbsolute));
    Par contre pas moyen d'écrire dedans.
    J'utilise le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WebClient xmlClient2 = new WebClient();
                xmlClient2.UploadStringCompleted += new UploadStringCompletedEventHandler(XMLFileUploaded);
                xmlClient2.UploadStringAsync(new Uri("Fichier.Xml", UriKind.RelativeOrAbsolute), "Ce_que_je_souhaite_écrire");
    J'ai également essayé en utilisant OpenReadAsync sans résultat.

    Aucune erreurs de compilation mais cela n'écrit rien dans mon fichier cible.
    Je dois procéder comment???

    Merci de votre aide.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    il y a quelque chose qui m'échappe... vu l'Uri que tu utilises, je suppose que tu essaies d'écrire dans un fichier local ? dans ce cas pourquoi utiliser la classe WebClient ?

  3. #3
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Citation Envoyé par tomlev Voir le message
    il y a quelque chose qui m'échappe... vu l'Uri que tu utilises, je suppose que tu essaies d'écrire dans un fichier local ? dans ce cas pourquoi utiliser la classe WebClient ?
    En fait j'essais d'écrire depuis le client dans un fichier se trouvant sur le serveur.
    Mais j'ai l'impression que cela est impossible sous Silverlight.

    Maintenant, je suis un peu à court d'idée.
    Mon but étant que chaque utilisateurs connectés à un serveur puissent laisser des messages que part la suite l'ensemble des utilisateurs puissent lire. Un GuestBook en gros!
    Ce GuestBook serait par exemple une sorte de ListBox remplit par un fichier Xml se trouvant à la racine du serveur (FichierServeur.Xml).

    Finalement, je me demande s'il ne vaut mieux pas que chaque client, lorsqu'il saisit une donnée l'enregistre dans son isolated storage (FichierClient.Xml). Puis ensuite le serveur lit ce fichier (FichierClient.Xml) et procède à la mise à jour de son propre fichier (FichierServeur.Xml).

    Si quelqu'un a une solution, je suis preneur!

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ah ok, j'avais pas vu que c'était dans le forum silverlight

    Ben il suffit de créer sur le serveur un webservice avec une méthode LaisserUnMessage(string message), que tu appelles à partir du client

  5. #5
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    Une requête http et un simple script PHP peuvent faire l'affaire:
    http://nico-pyright.developpez.com/t...lightandmysql/
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  6. #6
    Membre chevronné Avatar de roster
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 397
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Ah ok, j'avais pas vu que c'était dans le forum silverlight

    Ben il suffit de créer sur le serveur un webservice avec une méthode LaisserUnMessage(string message), que tu appelles à partir du client
    J'ai créer un service web en suivant le très complet tuto de Badger : http://badger.developpez.com/tutorie...ight-2-et-wcf/

    J'ai à peu près compris comment appeler un service. Niveau traitement coté serveur je bloque.
    Je ne vois pas comment créer et gérer un fichier pour stocker sur le serveur les données envoyées par un client?

    Une piste?!

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ben tu peux avoir un fichier avec un format comme ça par exemple :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0"?>
    <GuestBook>
        <Messages>
            <Message From="titi" Date="20090101">Bonne année !</Message>
            <Message From="tata" Date="20090225">Bonjour</Message>
            <Message From="toto" Date="20090418">Hello world</Message>
        </Messages>
    </GuestBook>

    Pour ajouter des données, tu peux utiliser la classe XmlDocument ou la sérialisation XML (dans un cas comme c'est probablement l'option la plus simple)

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

Discussions similaires

  1. [DOM XML] Ecrire dans un fichier xml
    Par GTJuanpablo dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/07/2007, 15h26
  2. Réponses: 1
    Dernier message: 20/02/2007, 13h43
  3. [FLASH 8] Ecrire dans un fichier xml
    Par dom_dev dans le forum Flash
    Réponses: 9
    Dernier message: 26/09/2006, 10h10
  4. Lire/Ecrire dans un fichier .xml depuis Java
    Par SkyBioSS dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 16/05/2006, 17h38
  5. <xml><asp.net> Ecrire dans un fichier xml
    Par kenkine dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 24/03/2006, 11h17

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