无法从Resource / Drawable /加载XML

时间:2016-10-07 22:53:45

标签: c# android xml xamarin xamarin.android

我已将我的Xml保存在Resource / Drawable /中。我把它放在这里因为它是唯一可以保持没有任何错误的地方。

任何方式都是例外:

  

System.IO.FileNotFoundException:找不到文件" / sds"。

我如何找到路径?

这是我的代码:

String conditionName = "";
XDocument xml = XDocument.Load("@drawable/LightConditions.xml");                
foreach (XElement item in xml.Root.Elements("Condizione"))
{
    if (item.Element("EV").Value == EV)
    {
        conditionName = item.Parent.Element("Nome").Value;
        break;
    }
    //do something
}

1 个答案:

答案 0 :(得分:2)

您需要将.xml放在Assets文件夹中,并将构建操作标记为AndroidAsset

然后,您可以使用AssetManager通过Stream

访问它
string conditionName = "";
using (StreamReader sr = new StreamReader(this.Assets.Open("LightConditions.xml")))
{
    XDocument xml = XDocument.Load(sr);
    foreach (XElement item in xml.Root.Elements("Condizione"))
    {
        if (condizione.Element("EV").Value == EV)
        {
            conditionName = item.Parent.Element("Nome").Value;
            break;
        }
        //do something
    }
}

查阅Assets

上的Xamarin.Android指南