Как читать 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
Вы также можете воспользоваться следующими двумя примерами: