为了账号安全,请及时绑定邮箱和手机立即绑定

找不到我的 xml 文件的路径

找不到我的 xml 文件的路径

C#
www说 2021-11-28 17:58:58
我正在尝试查找名为 ClassData.xml 的 XML 文件,但找不到。该文件本身隐藏在名为 Data 的文件夹中。我不知道如何到达文件所在的项目目录。我正在使用ios模拟器。public override void ViewDidLoad ()     {           base.ViewDidLoad ();    this.lbl_Werkt.Text = "het werkt wtf";    XmlDocument Doc = new XmlDocument();    try    {                        Doc.Load("/Data/ClassData.xml");    }    catch (Exception error)    {        Console.WriteLine("The File could not be read:");        Console.WriteLine(error.Message);    }    finally    {        foreach (XmlNode node in Doc.SelectNodes("//Warrior"))        {            string Name = node["Name"].InnerText;            lbl_Name.Text = Name;        }    }}
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

我真的已经傻了!如果其他人有这个问题,请查看您的文件(在我的情况下xml)并将构建操作从Embedded更改为Content。如果你这样做,你可以这样做:

Doc.Load(@"\Data\ClassData.xml");


查看完整回答
反对 回复 2021-11-28
?
四季花海

TA贡献1811条经验 获得超5个赞

对于项目中的文件,试试这个:


public override void ViewDidLoad ()     

{       

   base.ViewDidLoad ();


   this.lbl_Werkt.Text = "het werkt wtf";


   try{


      XmlDocument Doc = new XmlDocument();

      string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Data\ClassData.xml");


       if(!file.Exists(path))

          throw new IOExpection("File not found");


       Doc.Load(path);


       foreach (XmlNode node in Doc.SelectNodes("//Warrior"))

       {

          string Name = node["Name"].InnerText;


          lbl_Name.Text = Name;

       }

    }

    catch(IOException ioEx)

    {

       Console.WriteLine("The File could not be read:");

       Console.WriteLine(ioEx.Message);

    }

    catch(Exception ex)

    {

       Console.WriteLine(ex.Message);

    }

}  


查看完整回答
反对 回复 2021-11-28
  • 2 回答
  • 0 关注
  • 283 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信