0

D: ドライブにある XML ファイルを読み込みたいです。これは私が使ったものです

doc.Load(System.Web.HttpContext.Current.Server.MapPath("/D:/Employee.xml"));

しかし、プログラムを実行しようとするたびにエラーが発生します。

オブジェクト参照がオブジェクト インスタンスに設定されていません。

Server.MapPath は Web ページまたは Web アプリにのみ使用できることをどこかで読みました。c# を使用して asp.net でフォームを作成しました。

このエラーが発生するのはなぜですか?

これは私のコードです:

 private void btnRead_Click(object sender, EventArgs e)
    {
        XmlDocument doc = new XmlDocument();
        doc.Load("D:\\Employee.xml");
        XmlNode root = doc.DocumentElement;
        StringBuilder sb = new StringBuilder();
        XmlNodeList nodeList = root.SelectNodes("Employee");
        foreach (XmlNode node in nodeList)
        {
            sb.Append("Name: ");
            //Select the text from a single node, “Title” in this case
            sb.Append(node.SelectSingleNode("Name").InnerText);
            sb.Append("EmpID: ");
            sb.Append(node.SelectSingleNode("EmpID").InnerText);
            sb.Append("Dept: ");
            sb.Append(node.SelectSingleNode("Dept").InnerText);
            sb.Append("");
        }
        System.Web.HttpContext.Current.Response.Write(sb.ToString());
    }

VS 2008 でフォームを作成しました。詳細を XML ファイルに保存しました。そして今、出力を表示したいと思います。

4

2 に答える 2

3

直接ロードしない理由:

doc.Load("D:\\Employee.xml");
于 2012-10-04T11:05:26.303 に答える
2

デスクトップ アプリケーションでは、そのような HttpContext.Current が存在しないため、NullReferenceException が発生します。代わりに、

doc.Load("D:/Employee.xml");
于 2012-10-04T11:05:34.227 に答える