【问题标题】:Where to add XML files with data when creating an app?创建应用程序时在哪里添加带有数据的 XML 文件?
【发布时间】:2016-10-08 10:46:25
【问题描述】:

我正在创建一个应用程序,我需要从 XML 文件中获取一些数据。我有一个方法,它将数据从XML 文件填充到List<>。与 ConsoleApplication 一起使用时,XML 文件应位于 bin>debug 文件夹中。那么,问题来了,在创建 App 时,我必须把 XML 文件放在哪里?

我将 Visual Studio 2015 与 Xamarin 一起使用。

提前致谢!

【问题讨论】:

    标签: android xml visual-studio xamarin.android


    【解决方案1】:

    推荐的方法是将文件放在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 文件夹中读取文本文件。

    【讨论】:

      猜你喜欢
      • 2019-01-30
      • 1970-01-01
      • 2016-12-01
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多