private static ScreenData getScreenFromXML(String projPath, String path) throws Exception {
		File scrFile = new File(projPath + path);
		if (!scrFile.exists()) { throw new Exception(); }
		
		File xmlFile = new File(projPath + path);
		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(xmlFile), "utf8"));
		
		XmlReader xmlReader = new XmlReader();
		Element xmlRoot = xmlReader.parse(br);
		
		String name = xmlRoot.get("name", "");
		int w 		= xmlRoot.getInt("width",   -1);
		int h 		= xmlRoot.getInt("height",  -1);
		String xml  = xmlRoot.get("xmlPath",  "");
		String json = xmlRoot.get("jsonPath", "");
		if ((name.length() <= 0) || (xml.length() <= 0) || (json.length() <= 0) ||
			(w <= 0) || (h <= 0)) { throw new Exception(); }
		
		ScreenData scrData = new ScreenData();
		scrData.setName(name);
		scrData.setWidth(w);
		scrData.setHeight(h);
		scrData.setXmlPath(xml);
		scrData.setJsonPath(json);
		
		Element bgRoot = xmlRoot.getChildByName("bg");
		if (bgRoot != null) {
			String bgName    = bgRoot.get("name", "");
			String bgTexPath = bgRoot.get("texturePath", "");
			float bgScaleX 	 = bgRoot.getFloat("scaleX", -1f);
			float bgScaleY 	 = bgRoot.getFloat("scaleY", -1f);
			float bgX 	     = bgRoot.getFloat("x", -1f);
			float bgY 	     = bgRoot.getFloat("y", -1f);
			float bgAngle 	 = bgRoot.getFloat("angle", -1f);
			
			scrData.setBgImage(WidgetManager.createBGImage(bgName, projPath + bgTexPath, bgScaleX, bgScaleY, bgX, bgY, bgAngle));
		}
		
		Element pathRoot = xmlRoot.getChildByName("path");
		if (pathRoot != null) {
			xml = pathRoot.get("xmlPath", "");
			if (xml.length() > 0) {
				scrData.setPath(getPathFromXML(projPath, xml));
			}
		}
		
		return scrData;
	}