这是代码: -
public void TestXmlDocument()
{
StringBuilder output = new StringBuilder();
XDocument document = XDocument.Load("XmldataList.xml");
#region Fetch All the Books
var books = from r in document.Descendants("book")
select new
{
Author = r.Element("author").Value,
Title = r.Element("title").Value,
Genere = r.Element("genre").Value,
Price = r.Element("price").Value,
PublishDate = r.Element("publish_date").Value,
Description = r.Element("description").Value,
};
foreach (var r in books)
{
Label3.Text=r.PublishDate + r.Title + r.Author;
}
Console.ReadKey(true);
#endregion
}
我收到错误
异常详细信息:System.IO.FileNotFoundException:找不到 文件'C:\ Program Files \ Common Files \ Microsoft 共享\ DevServer \ 10.0 \ XmldataList.xml”。
在行 -
XDocument document = XDocument.Load("XmldataList.xml");
答案 0 :(得分:1)
您应该尝试指定XmldataList.xml的绝对路径:
XDocument document = XDocument.Load(@"C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\XmldataList.xml");
此外,以管理员权限启动IDE可能会有所帮助。
答案 1 :(得分:1)
最好的方法是使用MapPath函数,如下所示:
String fullPath=MapPath("/XmldataList.xml");
XDocument.Load(fullPath);
否则,当您在实时服务器上推送网站时,您的路径可能会被破坏。 如果仍然有问题,请检查MapPath函数的输出,如果它是正确的,则可能是安全访问问题,您应该授予IIS对您的文件夹的完全访问权限。 请务必注意文件名,有时您的文件名与代码中的名称略有不同。