public static void main(String[] args) throws SAXException, IOException { // создание DOM-анализатора (Xerces) DOMParser parser = new DOMParser(); parser.parse("test.xml"); Document document = parser.getDocument(); Element root = document.getDocumentElement(); List<Food> menu = new ArrayList<Food>(); NodeList foodNodes = root.getElementsByTagName("food"); Food food = null; for (int i = 0; i < foodNodes.getLength(); i++) { food = new Food(); Element foodElement = (Element) foodNodes.item(i); food.setId(Integer.parseInt(foodElement.getAttribute("id"))); food.setName(getSingleChild(foodElement, "name").getTextContent().trim()); food.setDescription(getSingleChild(foodElement, "description").getTextContent().trim()); menu.add(food); } for (Food f : menu) { System.out.println(f.getName() + ", " + f.getId() + ", " + f.getDescription()); } }
private void deleteFoodAssociations(Accompaniment root) { List<Food> foods = foodDAO.listByAccompanimentId(root.getId()); for (Food food : foods) { Collection<Accompaniment> accompaniments = accompanimentDAO.listByFoodId(food.getId()); Collection<Accompaniment> retainAll = new ArrayList<Accompaniment>(); for (Accompaniment accompaniment : accompaniments) { if (!accompaniment.getId().equals(root.getId())) { retainAll.add(accompaniment); } } accompaniments.retainAll(retainAll); food.setAccompaniments(new HashSet<Accompaniment>(accompaniments)); foodDAO.update(food); } root.setFoods(null); }