Xamarin mono for android 读取 xml 文件

Posted

技术标签:

【中文标题】Xamarin mono for android 读取 xml 文件【英文标题】:Xamarin mono for android read xml file 【发布时间】:2014-01-23 22:09:42 【问题描述】:

晚安,

我为 android 使用 xamarin mono,我想从我的资产中加载一个 xml 并将一些值放入我的列表视图中。我该怎么做?

这是我的 xml

<?xml version="1.0" encoding="UTF-8" ?>
<personen>
 <persoon>
    <id>1</id>
    <naam>Robin van Brakel</naam>
    <email>robin-brakel@hotmail.com</email>
    <apersonen>5</apersonen>
  </persoon>
  <persoon>
    <id>2</id>
    <naam>Wout van Brakel</naam>
    <email>wvanbrakel@online.nl</email>
    <apersonen>3</apersonen>
  </persoon>
</personen>

这是我的代码:

protected override void OnCreate (Bundle bundle)
    
        base.OnCreate (bundle);
        SetContentView (Resource.Layout.Main);


        //Een nieuwe streamreader object wordt aangemaakt met het assets bestand als argument 
        StreamReader strm = new StreamReader (Assets.Open ("xmlPersonen.xml")); 
        XDocument xd = XDocument.Load(strm); 

        //De stream wordt gelezen in een xml document, dat weer kan worden uitgelezen met LINQ 
        //Het resultaat wordt uiteindelijk in een lijst met boeken gezet. Boeken is een eigen klasse met 
        //de variabelen titel, auteur, boekId en aantal pagina’s 

        var personen = (from x in xd.Root.Descendants("persoon") 
            select new Persoon  
                id = Convert.ToInt32(x.Element("id").Value), 
                naam = Convert.ToString(x.Element("naam").Value), 
                email = Convert.ToString(x.Element("email").Value), 
                apersonen = Convert.ToInt32(x.Element("apersonen").Value) 
            ).ToList<Persoon>(); 

        foreach (Persoon bk in personen)  
            library.Add (new cls_Libary (bk.id, bk.naam,bk.email, bk.apersonen));
         
     

找不到类型或命名空间“Person”?

提前致谢

【问题讨论】:

【参考方案1】:

检查 Persoon 类和当前类的命名空间。

【讨论】:

以上是关于Xamarin mono for android 读取 xml 文件的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin Android - 关闭 Mono 日志

Xamarin - 如何更新 Mono.Android 版本以解决依赖关系?

适用于 Xamarin.Android 的便携式裁剪图像活动(Android 的 Monodroid / Mono)

gles2 动态壁纸转换为 c# (xamarin) 符合错误“...mono.android.TypeManager 无法应用于

如何获取 Mono Xamarin Android 应用程序路径文件夹?

运行 Mono Android 示例