private void AddCarrige(XmlDocument xmlDoc, XmlNode train, Carrige car) { XmlElement element; XmlNode userNode; XmlNode carNode = xmlDoc.CreateElement("Carrige"); element = xmlDoc.CreateElement("CarrigeName"); element.SetAttribute("value", car.carName); carNode.AppendChild(element); element = xmlDoc.CreateElement("CarrigeNum"); element.SetAttribute("value", car.num.ToString()); carNode.AppendChild(element); Debug.Log("Start save slots"); for (int i = 0; i < car.slots.Count; i++) { userNode = xmlDoc.CreateElement("Slot"); element = xmlDoc.CreateElement("Turret"); element.SetAttribute("value", car.slots[i].turret); userNode.AppendChild(element); element = xmlDoc.CreateElement("Num"); element.SetAttribute("value", car.slots[i].pos.ToString()); userNode.AppendChild(element); carNode.AppendChild(userNode); } train.AppendChild(carNode); }
public void LoadTrainFile(Train tr) { Debug.Log("Start load."); tr.carriges.Clear(); XmlTextReader reader = new XmlTextReader(Application.dataPath + "/" + fileName2 + ".xml"); int index = 0; Carrige car = new Carrige(); Slot slot = new Slot(); while (reader.Read()) { if (reader.IsStartElement("CarrigeName")) { //print(reader.GetAttribute("value")); car.carName = reader.GetAttribute("value"); } if (reader.IsStartElement("CarrigeNum")) { //print("CarrigeNum: " + reader.GetAttribute("value")); car.num = Convert.ToInt32(reader.GetAttribute("value")); } if (reader.IsStartElement("Turret")) { //print(reader.GetAttribute("value")); slot.turret = reader.GetAttribute("value"); } if (reader.IsStartElement("Num")) { //print("Slot Num: " + reader.GetAttribute("value")); slot.pos = Convert.ToInt32(reader.GetAttribute("value")); } if (reader.NodeType == XmlNodeType.EndElement) { if (reader.Name == "Carrige") { tr.carriges.Add(car); car = new Carrige(); } if (reader.Name == "Slot") { car.slots.Add(slot); slot = new Slot(); } } } Debug.Log("End load train"); reader.Close(); }