@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, и обрабатывать их соответствующим образом.