Добавил:
nyan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Main {
public static void main(String[] args) throws Exception {
File xmlFile = new File("ska.xml");
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document doc = documentBuilder.parse(xmlFile);
Element recipesElement = doc.getDocumentElement();
NodeList recipeList = recipesElement.getElementsByTagName("recipe");
for (int i=0; i<recipeList.getLength();i++) {
Node recipeNode = recipeList.item(i);
Element recipeElement = (Element) recipeNode;
System.out.println("Блюдо №"+(i+1)+": "+ recipeElement.getAttribute("name"));
System.out.println("Ингредиенты:");
NodeList ingsList = recipeElement.getElementsByTagName("ingredient");
for (int j = 0; j < ingsList.getLength(); j++) {
Node ingNode = ingsList.item(j);
if (ingNode.getNodeType() == Node.ELEMENT_NODE) {
Element ingElement = (Element) ingNode;
String unit = ingElement.getAttribute("unit");
String amount = ingElement.getAttribute("amount");
System.out.println(ingElement.getTextContent()+": " + amount + " " + unit);
}
}
System.out.println("");
System.out.println("Посуда и инструменты:");
NodeList dishList = recipeElement.getElementsByTagName("dishes");
for (int j = 0; j < dishList.getLength(); j++) {
Node dishNode = dishList.item(j);
if (dishNode.getNodeType() == Node.ELEMENT_NODE) {
Element dishElement = (Element) dishNode;
System.out.println(dishElement.getTextContent());
}
}
System.out.println("");
System.out.println("Шаги приготовления:");
NodeList instructionList = recipesElement.getElementsByTagName("instructions");
if (instructionList.getLength() > 0) {
Element instructionElement = (Element) instructionList.item(0);
NodeList stepList = instructionElement.getChildNodes();
for (int j = 0; j < stepList.getLength(); j++) {
Node stepNode = stepList.item(j);
if (stepNode.getNodeType() == Node.ELEMENT_NODE) {
Element stepElement = (Element) stepNode;
System.out.println(((j-1)/2+1)+". "+stepElement.getTextContent());
}
}
}
System.out.println("\n\n");
}
/*NodeList list = document.getElementsByTagName("recept");
for (int i=0; i<list.getLength(); i++)
{
Node node = list.item(i);
if(node.getNodeType() == Node.ELEMENT_NODE) {
Element ing1 = (Element) node;
String unit = ing1.getAttribute("unit");
System.out.println(ing1.getElementsByTagName("ingredient").item(i).getTextContent()+ unit);
}
}*/
}
}