1

ASP.NET MVC4プロジェクトの一部として、いくつかのXMLファイルの読み取りと書き込みができる必要があります。必要なファイルを見つけたりアクセスしたりするのに問題があります。

/DocumentsいくつかのXMLファイルを含むフォルダーを追加したデモプロジェクトを作成しました。

したがって、同じプロジェクトに、/Classesを使用してXMLファイルを読み取る必要があるクラスのフォルダーがありますXDocument.load()

これが私がやりたいこと(そしてそれがどのように機能するべきだと思ったか)です:

string path = "/Documents/test.xml"; // Doesn't work
XDocument xml = XDocument.load(path);

ただし、これは機能しません。「/Documents」、「Documents」、「〜/Documents」ではありません。フルパスを指定することは機能しますが、Webサイトを他の環境に展開する場合はあまり役に立ちません。

string path = "D:/Projects/Demo/Demo/Documents/test.xml"; // Works
XDocument xml = XDocument.load(path);

ある種の相対パスを使用してファイルにアクセスする方法について何か提案はありますか?

4

3 に答える 3

5

Server.MapPath絶対パスを取得するために使用します。

string path = Server.MapPath("/Documents/test.xml");
XDocument xml = XDocument.load(path);
于 2012-11-22T10:51:17.587 に答える
3

使用するHttpContext.Current.Server.MapPath

string path = HttpContext.Current.Server.MapPath("/Documents/test.xml"); 
于 2012-11-22T10:52:13.290 に答える
1

やってみました:

var path = Server.MapPath("/Documents/test.xml");
于 2012-11-22T10:52:22.663 に答える