2009-08-10 8 views
1

Dans VB.net lors du chargement dans des documents XML en utilisant System.Xml.Xmldocument est-il possible de spécifier un chemin d'accès relatif au fichier?Comment charger un document XML en utilisant un chemin relatif dans VB.net?

path = "file.xml" 
xmld.Load(path) 

Le document XML que j'essaie de charger se trouve dans le même répertoire que la classe VB. Mais j'ai du mal à y accéder sans utiliser un chemin complet vers le document XML.

Répondre

2

importation seulement System.Xml et essayer ...

Dim xmlDoc As XmlDocument = New XmlDocument 
xmlDoc.Load(Server.MapPath("Divide.xml")) 

Divide.xml seront évidemment remplacés par le nom de votre fichier xml.
De MSDN, Server.MapPath est la suivante ..

Indique le chemin relatif ou virtuel à la carte dans un répertoire physique. Si Le chemin commence par une barre oblique (/) ou une barre oblique inverse(), la méthode MapPath renvoie un chemin comme si Path était un chemin d'accès virtuel complet. Si Path ne commence pas par avec une barre oblique, la méthode MapPath renvoie un chemin relatif au répertoire du fichier .asp en cours de traitement .

+0

Parfait! Merci Monsieur! :) – Chiramisu

0
Application.StartupPath() 

pointera vers l'emplacement de l'exécution de l'application. Si l'emplacement de construction final pour votre fichier XML se trouve dans un répertoire différent de celui-ci, je recommande de créer une petite classe de gestionnaire de fichiers qui pointe vers l'emplacement correct du fichier. De cette façon, vous pouvez simplement appeler:

xmlDoc.Load(myFileMan.FilePath()) 

et laisser le gestionnaire résoudre le bon chemin basé sur une version de débogage/release et les autres facteurs atténuants potentiels sur elle.

+0

La propriété Application.StartupPath() est spécifique à WinForms, non? – Chris

+0

True, tout comme Server.MapPath est spécifique à WebForms. Votre question n'indiquait vraiment pas quel type d'application vous utilisiez, alors j'ai voulu lancer l'alternative pour vous en informer. –

+0

Bon appel! J'ai oublié que Server.MapPath était webform inclus. – Chris

0

Si dans SSIS essayez ceci:

'Loading an Xml File from VB' 

Dim xmlDoc As XmlDocument = New XmlDocument 
xmlDoc.Load("C:\Test\sample.xml") 
Questions connexes