Interroger et sauvegarder un fichier XML à distance

spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013 - 30 mars 2013 à 08:35
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 - 30 mars 2013 à 20:19
Bonjour,

Une partie de mon programme interroge un fichier XML distant :

string filename = "http://www.mywebsite.com//fichierxml.xml";                   
 
XmlDocument xmldoc = new XmlDocument();
XPathNavigator nav;
XPathNodeIterator iter;
xmldoc.Load(filename);


En lisant le contenu de ce fichier, mon programme doit effectuer des modifications, puis sauvegarder le fichier XML dans le même emplacement "filename"...

xmldoc.Save(filename);


Sur la ligne précédente, j'ai une exception :

URI formats are not supported

Comment puis-je rectifier cette erreur ?

Merci d'avance

4 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
30 mars 2013 à 09:44
Bonjour,

la dernière fois (ça fait longtemps) que j'ai mis des pages en ligne il fallait passer par un ftp avec login et mot de passe.

A la main peux tu modifier le xml sur le site web?
Si non, alors c'est surement un truc dans le genre, les sites sont en lecture seule


Whismeril
0
spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013
30 mars 2013 à 10:11
Salut,

Merci pour ta réponse... oui je peux modifier mon fichier XML à la main mais malheureusement je ne peux pas le faire par le biais de mon programme !!! J'ai lu quelque part qu'il faut utiliser Server.MapPath !!! je ne trouve pas cet espace de nom + je ne sais pas comment faire puisque la documentation est en anglais.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
30 mars 2013 à 10:36
Quand tu trouves un code et qu'il te manque un espace de nom, il te suffit de faire click-droit / résoudre sur le mot clé souligné par VS avec l'erreur "le type ou l'espacement de nom introuvable".

Ça te propose l'espace de nom à ajouter, mais dans ton cas server me propose "Microsoft.SqlServer.Server" et une fois ajouté, MapPath n'affiche pas le menu résoudre, c'est donc que ma version de VS ne connait pas ce mot clé (VS 2010 express Framework 4.0).

Je ne peux pas t'aider plus de ce coté.

Par contre je lis dans cette page, que cette méthode issue du SDK Internet Information System (que je ne connait pas du tout) n'aime pas les
Double slashes (// or \\)


Peut être que ton problème de SavaAs vient de là aussi.

As tu essayé:
string filename = @"http:/www.mywebsite.com/fichierxml.xml";


Je sais que ça marche pour les chemins locaux avec \ pour les adresses web je ne sais pas.



Whismeril
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
30 mars 2013 à 20:19
Salut,

Server.MapPath ne te servira pas
c'est de l'asp.net qui sert à résoudre les chemins locaux aux serveur web DEPUIS une autre page web de ce même serveur, ce n'est pas ton cas.

il faut que tu fasse un upload via

HttpWebRequest myWebRequest WebRequest.Create (url) as HttpWebRequest;
myWebRequest.Method = "PUT";



bye...
0
Rejoignez-nous