Как создавать и читать xml файлы в java?

Пользователь

от miguel_ritchie , в категории: Другие , 7 месяцев назад

Как создавать и читать xml файлы в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от richie_mayert , 7 месяцев назад

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