Рубрики
Без рубрики

Изменение XML-файла в Java (DOM-анализатор)

Изменить XML-файл на java, java редактировать xml, как изменить xml-файл на java, обновить xml-файл пример java, добавить элемент, удалить элемент, обновить значение атрибута

Автор оригинала: Pankaj Kumar.

Мы можем изменить XML-файл на Java с помощью DOM-анализатора. Мы можем добавлять элементы, удалять элементы, редактировать значения элементов, редактировать атрибуты в XML – документе на java с помощью DOM-анализатора.

Изменение XML-файла на Java

Допустим, у нас есть ниже исходный XML-файл. Мы узнаем, как изменить или отредактировать этот XML-файл в программе java с помощью DOM-анализатора.

Допустим, у нас есть ниже исходный XML-файл. Мы узнаем, как изменить или отредактировать этот XML-файл в программе java с помощью DOM-анализатора.



	
		Pankaj
		29
		Java Developer
		Male
	
	
		Lisa
		35
		CSS Developer
		Female
	

Мы отредактируем XML-файл с приведенными ниже изменениями.

  1. Обновите значение атрибута “идентификатор” для всех сотрудников в зависимости от пола. Для мужчин идентификатор будет иметь префикс “M”, а префикс “F”.
  2. Обновите значение элемента “имя”, указав его в верхнем регистре.
  3. Удалите элемент “пол”, так как он сейчас не используется.
  4. Добавьте новый элемент “зарплата” ко всем узлам сотрудника в xml.

Как только мы внесем вышеуказанные изменения в XML, мы сохраним его в другой файл.

Вот программа java, которая выполняет все вышеперечисленные обновления с помощью DOM-анализатора.

Вот программа java, которая выполняет все вышеперечисленные обновления с помощью DOM-анализатора.

package com.journaldev.xml;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class ModifyXMLDOM {

    public static void main(String[] args) {
        String filePath = "employee.xml";
        File xmlFile = new File(filePath);
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder;
        try {
            dBuilder = dbFactory.newDocumentBuilder();
            Document doc = dBuilder.parse(xmlFile);
            doc.getDocumentElement().normalize();
            
            //update attribute value
            updateAttributeValue(doc);
            
            //update Element value
            updateElementValue(doc);
            
            //delete element
            deleteElement(doc);
            
            //add new element
            addElement(doc);
            
            //write the updated document to file or console
            doc.getDocumentElement().normalize();
            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(doc);
            StreamResult result = new StreamResult(new File("employee_updated.xml"));
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            transformer.transform(source, result);
            System.out.println("XML file updated successfully");
            
        } catch (SAXException | ParserConfigurationException | IOException | TransformerException e1) {
            e1.printStackTrace();
        }
    }

    private static void addElement(Document doc) {
        NodeList employees = doc.getElementsByTagName("Employee");
        Element emp = null;
        
        //loop for each employee
        for(int i=0; i

Вывод измененной версии XML – файла из вышеуказанной программы приведен ниже.

Вывод измененной версии XML – файла из вышеуказанной программы приведен ниже.



	
		PANKAJ
		29
		Java Developer
		
	10000

	
		LISA
		35
		CSS Developer
		
	10000


Это все для краткого примера редактирования XML-файла java с помощью синтаксического анализатора DOM.