Unity C#xmlDocument和Resources.Load / Unload

时间:2019-03-18 12:34:14

标签: c# xml unity3d resources save

我正在与XmlDocument合作。

TextAsset _textAsset = (TextAsset)Resources.Load(PathOfFile);
_xmlDoc = new XmlDocument();
_xmlDoc.LoadXml(_textAsset.text);

之后,我在_xmlDoc中进行了一些更改,并通过以下方式保存了它:

_xmlDoc.Save(PathOfFile);

但是,仅当我从资源管理器中重新打开XML文件或隐藏显示Unity时,更改才适用。

所以我认为问题是:Resources.Load之后文件仍然打开。

如何关闭它? (Resources.UnloadAsset();不起作用)

1 个答案:

答案 0 :(得分:0)

为了立即查看任何编辑器脚本对Assets所做的更改,您应该在acording方法的末尾调用AssetDatabase.Refresh();


Afaik Resources文件夹的内容在内部版本中为只读,因此您不能使用

_xmlDoc.Save(PathOfFile);

仅在编辑器中的内部版本中。您可能宁愿使用StreamingAssetsApplication.streamingAssetsPath来访问Application.persistentDataPath