この記事はローカルxmlファイルをロードします
1つ:PCプラットフォームの下
1:persistentDataPathパスでもstreamingAssetsPathでも、loadを直接使用して読み取りおよび書き込みアクセスを取得できます
例:XmlDocument doc = new XmlDocument(); doc.Load(path);
2:アセットフォルダーの下にxmlファイルを格納するための新しいフォルダーを作成すると、パッケージ化時にこのフォルダー内のxmlを読み取ることができないことに注意してください。
解決策:1:xmlファイルをStreamAssetsフォルダーの直下に置きます
2:パッケージ化後、保存されているxmlフォルダーを**** _ Dataフォルダーの下に配置します(xmlフォルダーがAssetsフォルダーの直下にない場合は、パスが均一であることを確認してください。例:Aeeets / Xml / name .xml、パッケージ化後、**** _ Dataフォルダーの下に新しいフォルダーXmlを作成し、最後にname.xmlをその中に入れます)
3:wwwクラスを使用してロードします。
wwwを使用してxmlファイルをロードするには、「file://」を追加する必要があります。
例えば。:
IEnumerator IEPCRead(string path)
{
WWW www = new WWW("file://" + path);
//do.......
}
2:Androidプラットフォームの下
1:streamingAssetsPathパスの下にxmlを直接ロードすることはできません。persistentDataPataパスの下にxmlをロードできます。
例えば。:
string path1 = Application.streamingAssetsPath + "/stream.xml";
XmlDocument doc = new XmlDocument();
doc.Load(path1); //错误
string path1 = Application.persistentDataPath + "/stream.xml";
XmlDocument doc = new XmlDocument();
doc.Load(path1);// 正确
2:自分で作成したフォルダの下のxmlを読み取れません
これは、pcプラットフォームの2番目の項目と同じですが、パッケージ化後にapkを操作できないため、androidプラットフォームでxmlファイルを格納するフォルダーを作成しないでください。
3:wwwを使用してロード
wwwを使用してxmlファイルをロードし、「jar:file:// protocol」を追加します
IEnumerator IEAndroidRead(string path)
{
WWW www = new WWW("jar:file://" + path);
//do.......
}
【変更】
ps:ここで試したところ、streamingAssetsPathが「jar:file://」プロトコルを追加しないことがわかりました(追加するとエラーが発生します)
日付:2017.11.1
例を追加
3:まとめ
pc:対応するパスにxmlファイルを直接ロードできますが、フォルダーを作成してパッケージ化後に読み取るときにエラーに注意する必要があります。
wwwでロードするときに「file://」プロトコルを追加します
android:persistentDataPataパスの下でのみxmlファイルをロードできます。それ以外はロードできません。
wwwでロードする場合、「jar:file://」プロトコルを追加する必要がありますが、streamingAssetsPathは「jar:file://」プロトコルを追加できません。