不能从Resource/Drawable/中加载XML

本文关键字:加载 XML Drawable Resource 不能 | 更新日期: 2023-09-27 18:12:02

我已经将我的Xml保存在Resource/Drawable/中。我把它放在这里,因为这是它唯一可以不出错的地方。

无论如何这是一个例外:

先。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
}

不能从Resource/Drawable/中加载XML

您需要将.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
    }
}

查阅Xamarin.Android资产指南