lr10 -> e1, e2

This commit is contained in:
2026-04-05 20:04:51 +05:00
parent 47caea45da
commit a2b7572206
3 changed files with 124 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.vscode/*

75
lr10/task_1/e1.java Normal file
View File

@@ -0,0 +1,75 @@
package lr10.task_1;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
public class e1 {
public static void main(String[] args) {
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
// Создание корневого элемента
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("library");
doc.appendChild(rootElement);
// Добавление первой книги
Element book1 = doc.createElement("book");
rootElement.appendChild(book1);
Element title1 = doc.createElement("title");
title1.appendChild(doc.createTextNode("Война и мир"));
book1.appendChild(title1);
Element author1 = doc.createElement("author");
author1.appendChild(doc.createTextNode("Лев Толстой"));
book1.appendChild(author1);
Element year1 = doc.createElement("year");
year1.appendChild(doc.createTextNode("1869"));
book1.appendChild(year1);
// Добавление второй книги
Element book2 = doc.createElement("book");
rootElement.appendChild(book2);
Element title2 = doc.createElement("title");
title2.appendChild(doc.createTextNode("Мастер и Маргарита"));
book2.appendChild(title2);
Element author2 = doc.createElement("author");
author2.appendChild(doc.createTextNode("Михаил Булгаков"));
book2.appendChild(author2);
Element year2 = doc.createElement("year");
year2.appendChild(doc.createTextNode("1967"));
book2.appendChild(year2);
// Запись XML-файла
doc.setXmlStandalone(true);
doc.normalizeDocument();
javax.xml.transform.TransformerFactory tf = javax.xml.transform.TransformerFactory.newInstance();
javax.xml.transform.Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty(javax.xml.transform.OutputKeys.STANDALONE, "yes");
transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT, "yes");
javax.xml.transform.dom.DOMSource source = new javax.xml.transform.dom.DOMSource(doc);
javax.xml.transform.stream.StreamResult result = new javax.xml.transform.stream.StreamResult(
new File("example.xml"));
transformer.transform(source, result);
System.out.println("XML-файл успешно создан!");
} catch (Exception pce) {
pce.printStackTrace();
}
}
}

48
lr10/task_1/e2.java Normal file
View File

@@ -0,0 +1,48 @@
package lr10.task_1;
import java.io.File;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
public class e2 {
public static void main(String[] args) {
try {
File inputFile = new File("example.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
System.out.println("Корневой элемент: " + doc.getDocumentElement().getNodeName());
NodeList nodeList = doc.getElementsByTagName("book");
for (int i = 0; i < nodeList.getLength(); i++) {
Node node = nodeList.item(i);
System.out.println("\nТекущий элемент: " + node.getNodeName());
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
System.out.println("Название книги: "
+ element.getElementsByTagName("title").item(0).getTextContent());
System.out.println("Автор: "
+ element.getElementsByTagName("author").item(0).getTextContent());
System.out.println("Год издания: "
+ element.getElementsByTagName("year").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}