0
我正在創建一個應用程序,我需要從XML
文件中獲取一些數據。我有一個方法,它將數據從XML
文件填充到List<>
。在使用ConsoleApplication時,XML文件應該位於bin> debug文件夾中。所以,問題是,在創建應用程序時,我必須在哪裏放置XML文件?創建應用程序時,在哪裏添加XML文件和數據?
我用Xamarin使用Visual Studio 2015。
在此先感謝!
我正在創建一個應用程序,我需要從XML
文件中獲取一些數據。我有一個方法,它將數據從XML
文件填充到List<>
。在使用ConsoleApplication時,XML文件應該位於bin> debug文件夾中。所以,問題是,在創建應用程序時,我必須在哪裏放置XML文件?創建應用程序時,在哪裏添加XML文件和數據?
我用Xamarin使用Visual Studio 2015。
在此先感謝!
推薦的方法是將文件放在Assets
文件夾中,因爲它將文件視爲原始二進制文件。請注意,您應該在VisualStudio中將此文件的Build Action
設置爲AndroidAsset。
XDocument xdoc;
// Read the contents of our asset
AssetManager assets = this.Assets;
using (StreamReader sr = new StreamReader(assets.Open("yourXml.xml")))
{
xdoc = XDocument.Load(sr);
}
或者類似地,全部讀取爲文本字符串並解析爲Xml。
string content;
AssetManager assets = this.Assets;
using (StreamReader sr = new StreamReader(assets.Open("yourXml.xml")))
{
content = sr.ReadToEnd();
}
XDocument xdoc = XDocument.Parse(content);
讀完之後,xdoc
準備迭代。其餘的工作是迭代和讀取值,並放入List<>
。
var list = new List<string>();
foreach(XElement node in xdoc.Root.Nodes()) {
try {
// Assume that your children nodes are like this format; <node attr="something" />
string value = node.Attribute("attr").Value;
list.Add(value);
}
catch (Exception ex)
{
}
}
有關更多信息,本教程將指導您如何從Asset文件夾中讀取文本文件。