简体   繁体   中英

How I use XDocument.Load() to get a file in the application directory

I have a XML file in a folder in the project. I would like to use XDocument.Load(string) but do I have to write the complete path to the application as part of the URI (such as in my example)?

XDocument xml = XDocument.Load("c:/users/myuser/documents/visual studio
2010/Projects/ErrorRegistro/Registro.xml");

Another way that bypass the ressource issue is to add the file to project (same as the ressource solution), then click on the file and in the property tab choose "copy always" in copy to output path. That way the file will get copied to the output directory when you build and it's as simple as doing

 XDocument xml = XDocument.Load("Registro.xml");

It would be better to add your XML file as a project resource: go to the properties of the project then to Resources tab. Choose Add Resource and add your file. Then you will be able to get your XDocument that way:

XDocument xml = XDocument.Parse(Properties.Resources.Registro);

If you want, however, to keep everything like you did you could maybe go with Reflection. See the answer here: How to read embedded resource text file

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM