private QASet parseFile(File f) throws ParserConfigurationException,
			SAXException, IOException {
		QASet result = new QASet(DataType.FIVE_WAY);
		DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance()
				.newDocumentBuilder();
		Document doc = dBuilder.parse(f);
		NodeList questions = doc.getElementsByTagName("question");
		for (int i = 0; i < questions.getLength(); i++) {
			Node qNode = questions.item(i);
			System.out.println();
			Question q = new Question(getAtt(qNode, "id"), getAtt(qNode,
					"qtype"), getAtt(qNode, "stype"), getAtt(qNode, "module"));
			NodeList childNodes = qNode.getChildNodes();
			for (int j = 0; j < childNodes.getLength(); j++) {
				Node child = childNodes.item(j);
				if (child.getNodeName().equals("questionText")) {
					q.setText(child.getTextContent());
				} else if (child.getNodeName().equals("referenceAnswers")) {
					NodeList answerNodes = child.getChildNodes();
					for (int k = 0; k < answerNodes.getLength(); k++) {
						if (answerNodes.item(k).getNodeName()
								.equals("referenceAnswer"))
							q.getReferenceAnswers().add(
									parseReferenceAnswer(answerNodes.item(k)));
					}

				} else if (child.getNodeName().equals("studentAnswers")) {
					NodeList answerNodes = child.getChildNodes();
					for (int k = 0; k < answerNodes.getLength(); k++) {
						if (answerNodes.item(k).getNodeName()
								.equals("studentAnswer"))
							q.getStudentAnswers().add(
									parseStudentAnswer(answerNodes.item(k)));
					}
				}
			}
			result.getQuestions().add(q);
		}
		return result;

	}