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

ASP.NET Discussion :

[C#] Comment charger un fichier XML avec un path relatif ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut [C#] Comment charger un fichier XML avec un path relatif ?
    Bonjour à tous,

    Après plusieurs heures d'essais vains je me tourne vers vous pour un problème que je rencontre lorsque je souhaite ouvrir un fichier XML.

    Voici un bout de code simplifié qui cerne le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String path = "/toto/toto/titi/menu.xml";
    XmlDocument xmldoc = new XmlDocument();
    xmldoc.Load(@path);
    Le problème c'est qu'au moment du Load, une erreur est générée car l'argument pris par la fonction n'est pas exactement le path que je défini dans ma variable (qui est bon en relatif) mais ce path précédé de "C:", donc forcément le fichier n'est pas trouvé.

    Donc au final mon path en relatif est bon par rapport à mon appli (là n'est pas le problème), mais comme il ajoute C: devant on obtient un path absolu qui n'est plus le bon.

    Merci d'avance pour votre aide.

  2. #2
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3
    Par défaut
    il faut lui passer un path absolu.
    Dans une winform, tu récuperes le path de l'appli puis tu ajoutes le path relatif :
    System.Windows.Forms.Application.StartupPath + "\toto\titi.XML"

  3. #3
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Merci pour ta réponse, je viens de voir que j'ai oublié de préciser que je suis en Webforms (et Framework 1.1).

    Donc je vais devoir me débrouiller pour récupérer le path absolu de l'appli si je comprends bien.

    Avec la réponse de franck25 (System.Windows.Forms.Application.StartupPath) j'obtiens une réponse un path du style C:\WINNT\Microsoft.NET\Framework\v1.1.4322, mais mon fichier XML est dans mon dossier Inetpub\wwwroot pour le développement... Comment situer mon fichier XML par rapport à mon fichier cs ? Il y a un truc qui doit m'échapper là

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    oui car nous apprenons après coup que tu travailles en ASP.Net
    Donc je déplace ton post dans le forum approprié.
    Sinon d'un vague souvenir il me reste que l'on peut indiquer la racine du site par ~/

  5. #5
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par neguib
    oui car nous apprenons après coup que tu travailles en ASP.Net
    Donc je déplace ton post dans le forum approprié.
    Sinon d'un vague souvenir il me reste que l'on peut indiquer la racine du site par ~/
    Arf merci pour ta réponse je suis un peu paumé dans les forums liés à dotnet, merci pour le déplacement de post

  6. #6
    Membre chevronné
    Avatar de CORBASE
    Profil pro
    Étudiant
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Par défaut
    J'ai eu le même problème, et comme le dit JWhite, le path racine en ASP.NET est bien ~.

    Donc, si l'on reprend ta source, tu peux aisement la modifier en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String path = "~/toto/toto/titi/menu.xml";
    XmlDocument xmldoc = new XmlDocument();
    xmldoc.Load(path);
    Rien n'est impossible, c'est juste une question de temps
    C'est quoi le PureBasic ?

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

Discussions similaires

  1. Charger un fichier XML avec MSXML
    Par vanes92 dans le forum XML
    Réponses: 6
    Dernier message: 27/07/2006, 14h49
  2. [DOM] Comment generer ce fichier XML avec DOM ?
    Par jlassira dans le forum Format d'échange (XML, JSON...)
    Réponses: 18
    Dernier message: 10/04/2006, 09h12
  3. comment ouvrir un fichier XML avec excel
    Par ALCINA dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 24/03/2006, 14h42
  4. [XML] Comment parser ce fichier XML avec java !
    Par jlassira dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 13/03/2006, 12h56

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