我在尝试保存XML文件时遇到问题我将XML文件存储在Assets文件夹中并将构建操作设置为Android资源但是当xml.Save(" Q317664.xml"); line来它给出异常System.UnauthorizedAccessException:访问路径" /Q317664.xml"被拒绝。我不确定为什么会这样。
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using System.IO;
using System.Reflection;
using Android.Content.Res;
using System.Xml;
using System.Xml.Linq;
using System.Xml.XPath;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace App17
{
[Activity(Label = "App17", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
int count = 1;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
var xml = XDocument.Load(Assets.Open("Q317664.xml"));
var node = xml.Descendants("Book").FirstOrDefault(cd => cd.Attribute("Id").Value == "1");
node.SetAttributeValue("ISBN", "new");
xml.Save("Q317664.xml");
// Button button = FindViewById<Button>(Resource.Id.MyButton);
// button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
}
}
}
答案 0 :(得分:0)
我们无法在Assets文件夹中编辑和保存XML文件。 Assets文件夹中的文件是包含APK附带的静态数据的文件。我们不能写信给它。您可以阅读xml编辑它,然后可能将文件保存到App的目录。
答案 1 :(得分:0)
在Xamarin Android中
var path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var filename = Path.Combine(path, "myFile.xml");
File.WriteAllText(filename,xml.ToString());