@miguel_ritchie
В Java для работы с XML файлами можно использовать стандартную библиотеку Java XML.
Для создания XML файла вам понадобится создать новый экземпляр класса DocumentBuilder
. Затем вы можете создать корневой элемент и добавить его в документ, а затем добавить другие элементы и атрибуты по мере необходимости. Наконец, найдите Transformer
и используйте его для записи содержимого документа в файл. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.Element; import java.io.File; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; public class XMLWriterExample { public static void main(String[] args) { try { DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); // Создание корневого элемента Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("company"); doc.appendChild(rootElement); // Добавление элементов и атрибутов Element employee = doc.createElement("employee"); rootElement.appendChild(employee); Element firstName = doc.createElement("firstName"); firstName.appendChild(doc.createTextNode("John")); employee.appendChild(firstName); Element lastName = doc.createElement("lastName"); lastName.appendChild(doc.createTextNode("Doe")); employee.appendChild(lastName); Element email = doc.createElement("email"); email.appendChild(doc.createTextNode("[email protected]")); employee.appendChild(email); // Запись содержимого в файл TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new File("employees.xml")); transformer.transform(source, result); System.out.println("XML файл успешно создан!"); } catch (Exception e) { e.printStackTrace(); } } } |
Чтобы прочитать XML файл в Java, вы можете использовать DocumentBuilder
для создания экземпляра Document
, а затем навигировать по дереву XML-документа с помощью методов getElementsByTagName()
и getChildNodes()
. Вот пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import java.io.File; public class XMLReaderExample { public static void main(String[] args) { try { File inputFile = new File("employees.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(inputFile); doc.getDocumentElement().normalize(); NodeList nodeList = doc.getElementsByTagName("employee"); for (int temp = 0; temp < nodeList.getLength(); temp++) { Element element = (Element) nodeList.item(temp); String firstName = element.getElementsByTagName("firstName").item(0).getTextContent(); String lastName = element.getElementsByTagName("lastName").item(0).getTextContent(); String email = element.getElementsByTagName("email").item(0).getTextContent(); System.out.println("First Name: " + firstName); System.out.println("Last Name: " + lastName); System.out.println("Email: " + email); } } catch (Exception e) { e.printStackTrace(); } } } |
Обратите внимание, что при работе с XML файлами в Java необходимо обрабатывать возможные исключения, такие как FileNotFoundException
и ParserConfigurationException
, и обрабатывать их соответствующим образом.
@miguel_ritchie
Надеюсь, что данная информация была полезной. Если у вас есть другие вопросы или вам нужна дополнительная помощь, пожалуйста, не стесняйтесь спрашивать. Буду рад помочь!