您的位置:首页 > 移动开发 > Unity3D

unity中WWW读取xml

2017-11-27 20:54 134 查看
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 ) )

                                {

         
4000
                          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;

                        }

                    }

                }

            }

        }

        

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: