1.xml文件内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<info> <book id ="b1" lang ="en"> <name>c++</name> <price>555</price> </book> <book id ="b2" lang ="en"> <name>c#</name> <price>666</price> </book></info>这个文件可以放在resources或者StreamingAssets这个下面,所以有了两种路径读取方式,读取方式如下
using UnityEngine;
using System.IO;using System.Xml;using System.Collections;public class ReadXml : MonoBehaviour {
/// <summary> /// resources下面读取xml的方法 /// </summary> //void Start() //{// //resources下面的读法
// TextAsset textAsset = Resources.Load("XMLFile1", typeof(TextAsset)) as TextAsset; // ReadXML(new MemoryStream(textAsset.bytes)); //}/// <summary>
/// StreamingAssets 下面的读取xml的方法 /// </summary> /// <returns></returns> IEnumerator Start() { WWW www = new WWW("file://" + Application.streamingAssetsPath + "/XMLFile1.xml"); yield return www;ReadXML(new MemoryStream(www.bytes));
www.Dispose(); } // Update is called once per frame void Update () { }void ReadXML(Stream stream) {
XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(stream);XmlNode info = xmlDoc.SelectSingleNode("info");
foreach (XmlNode node in info.ChildNodes) { string id = node.Attributes["id"].InnerText; string lang = node.Attributes["lang"].InnerText;string name = node.SelectSingleNode("name").InnerText;
Debug.Log(node.Name + "/" + "id =" + id + " lang = " + lang + " name = " + name);
} }}