Sauvegarder un flux XML

Résolu
Signaler
Messages postés
104
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
27 juin 2007
-
Messages postés
104
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
27 juin 2007
-
Bonjour,
Voila j'ai un petit souci.
Je recois un fichier par http post que je sauvegarde comme ca.

Dim StrScenario
As
String
Dim Scenario
As HttpPostedFile
Scenario = Request.Files(
"f1")

Dim sr
As StreamReader
sr =
New StreamReader(Scenario.InputStream())
StrScenario = sr.ReadToEnd()

Lorsque je regarde StrScenario je recupere bien le fichier XML aui m'a ete envoye
J'arrive egalement a le lire,recuperer des donnees.

Ce que  je veux faire c'est  modifier mon fichier XML ,ajouter des donnes sans le sauvegarder physiquement,c'est a dire sans faire  oXMLUtility.Save(MyPath).

Par exemple si je veux ecrire je fais

Public

oXMLUtility
As XmlDocument =
New XmlDocument()

Dim oTemp
As XmlNode
oXMLUtility.LoadXml(StrScenario)  '' la c'est mon fichier xml ,de type string ,qui est charge

oTemp = oXMLUtility.DocumentElement.SelectSingleNode(

"/Scenario/CurvePoints/Point[" 1
"]")oTemp.Attributes(1).Value = "madonne"

En fait je voudrais qu'il reste un String
Apres je bloque quelqu'un a une idee.

Merci

2 réponses

Messages postés
104
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
27 juin 2007
3
Bon apres de longue tentatives et unpeu de reflexion j'ai fini par trouver.

on me fait une requete http post avec laquelle on joint un fichier Xml que je suis charge de modifier et de renvoyer une fois la modification effectuée.
En fait cela s'aparente a un Webservice.
Un serveur ou est base le front end ecris l'Xml avec les donnees de l'utilisateur et m'envoyer le fichier.Moi je lerecois et le transforme en stream que je modifie et que je renvoie.
Cependant je ne voulais pas enregistrer le fichier sur le disque dur afin d'eviter de gerer des Sessions d'utilisateurs.

Le code.
oXMLUtility New XmlDocument()Response.ContentType

"text/xml; charset=UTF-8"

Try

Dim ScenarioFile
As HttpPostedFile
ScenarioFile = Request.Files(
"f1")stream = Page.Response.OutputStream() ' l'astuce est Ici

Dim streamreader As StreamReader New StreamReader(ScenarioFile.InputStream())StrScenario streamreader.ReadToEnd()

oXMLUtility.LoadXml(StrScenario)

'Ici le modifie mon Xml avec Xpath comme d'hab

oXMLUtility.Save(stream)

Catch ex
As Exception

Response.Write(ex.InnerException)
Response.Write(ex.Message)

End
Try

Dans la page qu'il a fait la requette http post doit apparaitre le fichier Xml modifier.
Attention a bien enleve toutes les balises   html de votre balise ASPX(pour moi) enfin sauf la premiere ligne.
J'espere que ca servira a quelqu'un
Messages postés
104
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
27 juin 2007
3
En fait aprs de longues recherches je n'ai toujours pas trouver de solution ,


en fait ma question est la suivante :Est il possible de modifier un fichier  XML sans l'enregistrer.
Car je voudrais eviter de creer de fichier sur le serveur.
Merci.