Unity中Xml简介以及通过脚本读取Xml文本中的内容

1.XML 简介

1.什么是 XML?
XML:可扩展标记语言。
XML 类似于 HTML,都是标签(标记)语言。
在软件开发的各个领域(Web,Android,IOS,Game,EXE…)都可以 看到 XML 文件的身影。
XML 的作用是用于传输和存储数据。
XML 本身就是一个存储的文本。
2.XML 的语法结构
XML 文档的语法结构最终是一个树状结构。
主要组成部分:根元素,子元素,属性,文本。
3.XML 注意事项
①XML 标签对大小写很敏感;
②XML 标签必须正确的嵌套;
③XML 标签中的属性值必须加(双)引号;
④XML 文档必须有根元素。

2.Unity 操作 XML

1.读取 XML 中的数据并展示出来
<1>实例化一个 XML 文档操作对象;
<2>使用 XML 对象加载 XML;
<3>获取根节点;
<4>获取根节点下所有子节点;
<5>遍历输出。

3、Unity读取Xml文本Demo

1、首先在项目的Assets目录下新建一个web.xml的文本(注意文件的后缀名为xml),然后复制以下的代码

<Web>
	<Item id="1">
		<name>天龙八部</name>
		<url>https://blog.csdn.net/jianjianshini</url>
	</Item>
	
	<Item id="2">
		<name>玉女心经</name>
		<url>www.baidu.com</url>
	</Item>
	
	<Item id="3">
		<name>降龙十八掌</name>
		<url>www.unity3d.com</url>
	</Item>
</Web>

保存该文本文件!!!
回到场景中,然后在场景中新建一个XMLDemo的C#脚本,并把该脚本挂载到场景中的摄像机上或者是灯光游戏物体上,然后打开该脚本,并复制以下的代码:

using UnityEngine;
using System.Collections;
using System.Xml; //引入XML操作相关的命名空间.

/// <summary>
/// XML操作演示.
/// </summary>
public class XMLDemo : MonoBehaviour {

    //定义一个字段,存储xml的路径.
    private string xmlPath = "Assets/web.xml";

	void Start () {
        ReadXMLByPath(xmlPath);
	}

    /// <summary>
    /// 通过路径读取XML中的数据进行显示.
    /// </summary>
    /// <param name="path">xml的路径地址</param>
    private void ReadXMLByPath(string path)
    {
        //<1>实例化一个XML文档操作对象.
        XmlDocument doc = new XmlDocument();

        //<2>使用XML对象加载XML.
        doc.Load(path);

        //<3>获取根节点.
        XmlNode root = doc.SelectSingleNode("Web");

        //<4>获取根节点下所有子节点.
        XmlNodeList nodeList = root.ChildNodes;

        //<5>遍历输出.
        foreach(XmlNode node in nodeList)
        {
            //取属性.
            int id = int.Parse(node.Attributes["id"].Value);
            //取文本.
            string name = node.ChildNodes[0].InnerText;
            string url = node.ChildNodes[1].InnerText;

            Debug.Log(id + "--" + name + "--" + url);
        }

    }
}

保存该脚本,运行游戏,就可以在场景中的控制台看到以下的输出信息:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章