注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Faye Euler's blog

技術交流歡迎留言

 
 
 

日志

 
 

史上最详细的Unity3d网络加载xml教程  

2013-07-04 20:55:27|  分类: Unity3D |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

XML部分

//=====================================================================================================

XML文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<list>
  <item id="1" start="K100+100" end="K100+200" content="aaa1" fdate="2013-6-6" area="100" idate="2013-6-6"></item>
  <item id="2" start="K100+300" end="K100+400" content="aaa2" fdate="2013-6-6" area="100" idate="2013-6-6"></item>
</list>

XML记得要存为UTF-8格式,不然会有一个的错误

XmlException: Text node cannot appear in this state.  Line 1, position 1.

Unity3d 在线加载xml例子 - Faye - Faye Eulers blog

//=====================================================================================================

 

服务器部分

//=====================================================================================================

在wwwroot下面加个 crossdomain.xml,否则会报以下错误

SecurityException: No valid crossdomain policy available to allow access

Unity3d 在线加载xml例子 - Faye - Faye Eulers blog

 crossdomain.xml代码如下

<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>

//=====================================================================================================

最重要的unity代码如下:

using UnityEngine;
using System.Collections;
using System.Xml;

public class Test1 : MonoBehaviour
{
    public string timeURL;
 
 public string all;
    public string id;
    public string start;
    public string end;
    public string content;
    public string fdate;
    public string idate;
 
    // Use this for initialization
    void Start()
    {
        timeURL = "http://aaa.cn/templets/area.xml";
        StartCoroutine(GetXML());
    }

    IEnumerator GetXML()
    {
        Debug.Log("Start get GetXML");
        WWW www = new WWW(timeURL);
        while (!www.isDone)
        {
            Debug.Log("Getting GetXML");
            yield return www;
   all = www.text;
            Debug.Log("Finish getting GetXML and whole xml is : " + www.text);
            ParseXml(www);
        }
    }

 public void ParseXml(WWW www)
 {
  XmlDocument xmlDoc = new XmlDocument();
  xmlDoc.LoadXml(www.text);
  XmlNodeList nodeList=xmlDoc.SelectSingleNode("list").ChildNodes;

  foreach(XmlElement xe in nodeList)
  {
   id = xe.GetAttribute("id");
   start = xe.GetAttribute("start");
   end = xe.GetAttribute("end");
   content = xe.GetAttribute("content");
   fdate = xe.GetAttribute("fdate");
   idate = xe.GetAttribute("idate");
  }
 }
 void OnGUI()
 {
  try
  {
   GUI.Label(new Rect(100,00,200,200),all);
   GUI.Label(new Rect(0,00,200,200),id);
   GUI.Label(new Rect(0,30,200,200),start);
   GUI.Label(new Rect(0,60,200,200),end);
   GUI.Label(new Rect(0,90,200,200),content);
   GUI.Label(new Rect(0,120,200,200),fdate);
   GUI.Label(new Rect(0,150,200,200),idate);
   
  }
  catch
  {
   
  }
 }
}

 

不懂留言,转载请注明出处,good luck~
http://oulehui.blog.163.com/blog/static/7961469820136484632294/

  评论这张
 
阅读(4651)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017