https://code.csdn.net/snippets/2603028
using UnityEngine;
using System.IO;using System.Xml;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System;
public class loadxml : MonoBehaviour {
#if UNITY_PC
public string url;
#elif UNITY_ANDROID
private string url =(Application.streamingAssetsPath + "/android/xml/fbxt.xml" ).Trim(); //3w读取数据路径
#endif
// Use this for initialization
void Start () {
Debug.Log( url );
StartCoroutine( loadxmltest(url) );
}
// Update is called once per frame
void Update () {
}
public XmlNode SelectNodeFromXmlDocument( XmlDocument XmlDoc, string NodeName )
{
return XmlDoc.SelectSingleNode( NodeName );
}
private IEnumerator loadxmltest( string Path )
{
WWW getDate = new WWW( Path );
yield return getDate;
if( getDate.error != null )
{
Debug.Log( "WWWError: " + getDate.error );
}
else
{
XmlDocument xmlDoc = new XmlDocument();
string strXml = System.Text.Encoding.UTF8.GetString( getDate.bytes, 0, getDate.bytes.Length );
xmlDoc.LoadXml( strXml.Replace( "<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "" ) );
XmlNodeList nodeList = null;
try
{
nodeList = SelectNodeFromXmlDocument( xmlDoc, "xml" ).ChildNodes;
}
catch { }
foreach( XmlNode xn in nodeList )
{
if( xn.Name == "item" )
{
foreach( XmlNode item in xn.ChildNodes )
{
switch( item.Name )
{
case "id":
if( !string.IsNullOrEmpty( item.InnerText ) )
{
Debug.Log( "id" + item.InnerText );
}
break;
case "name":
if( !string.IsNullOrEmpty( item.InnerText ) )
{
Debug.Log( "name" + item.InnerText );
}
break;
case "name_id":
if( !string.IsNullOrEmpty( item.InnerText ) )
{
Debug.Log( "name_id" + item.InnerText );
}
break;
case "time_state":
if( !string.IsNullOrEmpty( item.InnerText ) )
{
Debug.Log( "time_state" + item.InnerText );
}
break;
case "desp":
if( !string.IsNullOrEmpty( item.InnerText ) )
{
Debug.Log( "desp" + item.InnerText );
}
break;
}
}
}
}
}
}
}