2016-10-07 3 views
0

Я сохранил свой Xml в Resource/Drawable /. Я полагаю, что причина здесь - единственное место, где он может остаться без ошибок.Невозможно загрузить XML из Resource/Drawable/

В любом случае это исключение:

System.IO.FileNotFoundException: Не удалось найти файл "/ СДС".

Как я могу найти путь?

Вот мой код:

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 
} 
+0

/ресурс/рисую не для произвольных файлов XML. Он предназначен только для чертежей. Добавьте свой XML в Assets. – Cheesebaron

ответ

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

Обратитесь к Xamarin.Android руководства по Assets

+0

Спасибо! Он работает очень хорошо –