public static PlayerConfig getPlayerConfig(String name) throws Exception
	{
		PlayerConfig config = new PlayerConfig(name);
		HashMap<String, String> classifiers = new HashMap<String, String>();
		HashMap<String, HashMap<String, Boolean>> attributes = new HashMap<String, HashMap<String, Boolean>>();
		
		SAXBuilder builder = new SAXBuilder();
		File file = new File(FILE_PATH, FILE_NAME);
		Document doc = null;
		
		if (!file.exists())
		{
			doc = new Document();
			Element root = new Element("AgentConfigs");
			doc.setRootElement(root);

			String xmlFileData = new XMLOutputter().outputString(doc);
			write2File(xmlFileData);
		}
		
		try
		{
			doc = builder.build(file);
		} catch (JDOMException e)
		{
			e.printStackTrace();
		} catch (IOException e)
		{
			e.printStackTrace();
		}

		Element root = doc.getRootElement();
		@SuppressWarnings("unchecked")
		List<Element> eleList = root.getChildren("Config");

		for (Iterator<Element> iter = eleList.iterator(); iter.hasNext();)
		{
			Element configEle = iter.next();
			String configName = configEle.getChildText("Name");
			if (configName.equals(name)) {
				// Set classifiers 
				Element clsEle = configEle.getChild("Classifiers");
				classifiers.put("ActionTypeClassifier", clsEle.getChildText("ActionTypeClassifier"));
				classifiers.put("ActionPowerClassifier", clsEle.getChildText("ActionPowerClassifier"));
				classifiers.put("ActionAngleClassifier", clsEle.getChildText("ActionAngleClassifier"));
				
				// Set dataset attributes
				Element attEle = configEle.getChild("DatasetAttributes");
				attributes.put("ActionType", getAttributeSetting(attEle, "ActionType"));
				attributes.put("KickPower", getAttributeSetting(attEle, "KickPower"));
				attributes.put("KickAngle", getAttributeSetting(attEle, "KickAngle"));
				attributes.put("DashPower", getAttributeSetting(attEle, "DashPower"));
				attributes.put("TurnAngle", getAttributeSetting(attEle, "TurnAngle"));
				attributes.put("CatchAngle", getAttributeSetting(attEle, "CatchAngle"));
			}
		}
		
		if (classifiers.isEmpty() || attributes.isEmpty()) {
			return null;
		}
		
		config.setClassifiers(classifiers);
		config.setAttSetting(attributes);

		return config;
	}