private MyNode readNode() { String text = null; String level = null; String name = null; MyNode retNode = null; if (s.hasNextLine()) { try { String[] lineArray = thisLine.split("> "); text = lineArray[1]; level = lineArray[0].split(" namn=")[0]; name = lineArray[0].split(" namn=")[1]; if (!level.startsWith("<") | !name.startsWith("\"") | !name.endsWith("\"")) { throw new Exception(); } else { level = level.substring(1); name = name.substring(1, name.length() - 1); } } catch (Exception e) { System.err.println("Parse error"); e.printStackTrace(); System.exit(1); } retNode = new MyNode(name, level, text); thisLine = s.nextLine(); while (!thisLine.startsWith("</")) { retNode.add(readNode()); thisLine = s.nextLine(); } } return retNode; }