Как отобразить содержимое XML файла Unity 5
В сегодняшнем уроке мы разберем как отобразить содержимое файла XML Unity 5 и заполнить им класс персонажа. Для начала создадим XML файл, который мы должны будем распарсивать. Создадим файл PlayerData.XML в папке Resources, в котором напишем:
100 2 0.6
Данный файл мы и будем распарсивать. Создадим класс Player, в который мы и будем преображать наши даные.
//Для того, чтоб данные отображались
//в инспекторе
[Serializable]
public class Player
{
//3 переменные из файла, в которые
//Мы будем выгружать
public int Hp;
public float Speed;
public float Strength;
}
Далее создадим скрипт XmlToObjects, который считает наш файл и по алгоритму выгрузит его в приемлимый для нас класс.
//Не забываем подключить пространство имен
using System.Xml;
//System - для работы Convert
using System;
//Делаем класс статичным, чтоб он был доступен отовсюду.
public static class XmlToObjects {
public static Player ReadXMLToPlayer(string Path)
{
//Создаем новый объект нашего XML документа
var document = new XmlDocument();
//Загружаем нужный нам файл
document.Load(Path);
//Получаем главный элемент документа
//В котором лежат все узлы
XmlElement elem = document.DocumentElement;
//Создаем новый объект данных игрока
Player PlayerData = new Player();
//Выгружаем данные, преобразовывая в нужный формат
//ChildNodes[i] - это узлы которые хранят в себе данные
//Но могут хранить и другие узлы, так как XML
//имеет древовидную структуру, что позволяет
//Уходить далеко вглубь
PlayerData.Hp = Convert.ToInt32(elem.ChildNodes[0].InnerText);
PlayerData.Speed= Convert.ToSingle(elem.ChildNodes[1].InnerText);
PlayerData.Strength = Convert.ToSingle(elem.ChildNodes[2].InnerText);
return PlayerData;
}
}
А теперь создадим класс, который повесим на игрока, и который будет запускать нашу выгрузку
public class PlayerController : MonoBehaviour
{
public Player PlayerData;
private void Start()
{
//Выгрузим данные их XML
PlayerData = XmlToObjects.ReadXMLToPlayer(Application.dataPath + "/Resources/PlayerData.xml");
}
}
По итогу реализации скрипта мы должны будем отобразить содержимое XML файла в Unity. Теперь при запуске игры, наш скрипт выгружает данные и заносит их в класс Player. Выглядит это так:


(4 оценок, среднее: 4,00 из 5)