Автор оригинала: 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-файл с приведенными ниже изменениями.
- Обновите значение атрибута “идентификатор” для всех сотрудников в зависимости от пола. Для мужчин идентификатор будет иметь префикс “M”, а префикс “F”.
- Обновите значение элемента “имя”, указав его в верхнем регистре.
- Удалите элемент “пол”, так как он сейчас не используется.
- Добавьте новый элемент “зарплата” ко всем узлам сотрудника в 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.