Как читать XML-файл в Java - (JDOM Parser)
Проще говоря, JDOM - это Java-представление XML-документа. JDOM предоставляет способ представления этого документа для простого и эффективного чтения, манипулирования и письма. Он имеет простой API, легкий и быстрый, и оптимизирован для программиста Java. Это альтернатива DOM и SAX, хотя она хорошо интегрируется с DOM и SAX.
JDOM, синтаксический анализатор Java XML, более удобен для доступа к XML-документу.
В этом примере мы покажем вам, как использовать JDOM для чтения XML-файла и упорядоченной распечатки каждого элемента.
1. Загрузите библиотеку JDOM
JDOM не похож на SAX или DOM, которые включены в JDK. Чтобы использовать JDOM, вам необходимо скачать библиотеку вручную.
Получите JDOM отJDOM official site или объявите следующую зависимость, если вы используете Maven.
jdom jdom 1.1
2. XML-файл
XML-файл следующим образом
yong mook kim example 100000 low yin fong fong fong 200000
3. Файл Java
Используйте анализатор JDOM для разбора файла XML выше.
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
public class ReadXMLFile {
public static void main(String[] args) {
SAXBuilder builder = new SAXBuilder();
File xmlFile = new File("c:\\file.xml");
try {
Document document = (Document) builder.build(xmlFile);
Element rootNode = document.getRootElement();
List list = rootNode.getChildren("staff");
for (int i = 0; i < list.size(); i++) {
Element node = (Element) list.get(i);
System.out.println("First Name : " + node.getChildText("firstname"));
System.out.println("Last Name : " + node.getChildText("lastname"));
System.out.println("Nick Name : " + node.getChildText("nickname"));
System.out.println("Salary : " + node.getChildText("salary"));
}
} catch (IOException io) {
System.out.println(io.getMessage());
} catch (JDOMException jdomex) {
System.out.println(jdomex.getMessage());
}
}
}
Выход
First Name : yong Last Name : mook kim Nick Name : example Salary : 100000 First Name : low Last Name : yin fong Nick Name : fong fong Salary : 200000
Note
Вы также можете воспользоваться следующими двумя примерами: