void InitGroups() { string[] listOfXMLFiles = Directory.GetFiles(Path.Combine(Application.dataPath, "Config"), "*.xml"); int index = 0; foreach (string path in listOfXMLFiles) { XmlDocument xmlDoc = new XmlDocument(); // xmlDoc is the new xml document. string content = System.IO.File.ReadAllText(path); xmlDoc.LoadXml(content); XmlNodeList levelsList = xmlDoc.GetElementsByTagName("group"); // array of the level nodes. foreach (XmlNode levelInfo in levelsList) { string name = "error"; string f_min = "error"; string f_max = "error"; List<string> electrodes = new List<string>(); XmlNodeList levelcontent = levelInfo.ChildNodes; foreach (XmlNode levelsItems in levelcontent) { if (levelsItems.Name == "name") { name = levelsItems.InnerText; } else if (levelsItems.Name == "f_min") { f_min = levelsItems.InnerText; } else if (levelsItems.Name == "f_max") { f_max = levelsItems.InnerText; } else if (levelsItems.Name == "electrodes_list") { XmlNodeList subLevelcontent = levelsItems.ChildNodes; foreach (XmlNode subLevelsItems in subLevelcontent) { if (subLevelsItems.Name == "electrode") { electrodes.Add(subLevelsItems.InnerText); } else { Debug.LogError("ERROR : invalid content in Xml file, marke '" + subLevelsItems.Name + "' have been found"); } } } else { Debug.LogError("ERROR : invalid content in Xml file, marke '" + levelsItems.Name + "' have been found"); } } List<int> elecsInt = new List<int>(); foreach (string s in electrodes) { elecsInt.Add(reverseDict(Group.ElecNames)[s]); } Group g = new Group(name, elecsInt, int.Parse(f_min), int.Parse(f_max)); g.setMoyenne(TMoyenne); g.setEcartType(TEcartType); m_allGroups.Add(g); /* Debug.Log ("__________________________"); Debug.Log ("name is "+name); Debug.Log ("f_min is "+f_min); Debug.Log ("f_max is "+f_max); Debug.Log("electrodes :"); foreach(string s in electrodes) { Debug.Log ("elec is "+s); } */ } } }