Руководство Java JDOM2
1. Введение
JDOM это модель XML в памяти (memory) используется для чтения, написания, создания и изменения документов XML . JDOM похож на DOM trong оба предоставляют данные в XML памяти.
DOM предназначен для одинаковой работы с разными языками (C, C++, ECMAScript , Java , JScript , Lingo , PHP, PLSQL , và Python) .
- JDOM создан только для Java и использует определенные естественные функции Java, которые избегаются моделью DOM. Из-за этого, JDOM нарочно не выполняет по стандартам DOM w3c . JDOM не является XML-парсером (XML Parser), но может использовать SAX, Stax или DOM парсер для создания (build) документов JDOM . Версии JDOM начиная с 2.0.0 ( JDOM2 ) все используют функции языка Java 6 и более поздних версий как Generics , Enums , var-args , ковариантные возвращаемые типы (co-variant data type), и т.д.
Узнать больше:
2. Библиотека
В отличии от DOM доступного в JDK, с JDOM вам нужно скачать эту библиотеку для использования:
Вы можете скачать на домашней странице JDOM по ссылке:
Или просто скачать с Maven Repository (Репозиторий maven):
3. Начать пример
Иллюстрация Project после завершения:
department-datas.xml
<?xml version="1.0"?>
<department>
<employee>
<empNo>E01</empNo>
<empName>KING</empName>
<hireDate>17-11-1981</hireDate>
<salary>100000</salary>
</employee>
<employee>
<empNo>E02</empNo>
<empName>JONES</empName>
<hireDate>02-04-1981</hireDate>
<salary>200000</salary>
</employee>
</department>
ReadXMLFile.java
package org.o7planning.tutorial.jdom2;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
public class ReadXMLFile {
public static void main(String[] args) {
SAXBuilder builder = new SAXBuilder();
File xmlFile = new File("department-datas.xml");
System.out.println("Parsing FILE: "+ xmlFile.getAbsolutePath());
try {
Document document = (Document) builder.build(xmlFile);
Element rootNode = document.getRootElement();
List<Element> list = rootNode.getChildren("employee");
for (int i = 0; i < list.size(); i++) {
Element node = (Element) list.get(i);
System.out.println(" ------ ");
System.out.println("Emp No : " + node.getChildText("empNo"));
System.out.println("Emp Name : " + node.getChildText("empName"));
System.out.println("Hire Date : " + node.getChildText("hireDate"));
System.out.println("Salary : " + node.getChildText("salary"));
}
} catch (IOException e) {
System.out.println(e.getMessage());
} catch (JDOMException e) {
System.out.println(e.getMessage());
}
}
}
Результат после запуска класса ReadXMLFile:
Java Open source libraries
- Руководство Java JSON Processing API (JSONP)
- Использование Scribe OAuth Java API с Google OAuth 2
- Получить информацию об оборудовании в приложении Java
- Restfb Java API для Facebook
- Создание Credentials для Google Drive API
- Руководство Java JDOM2
- Руководство Java XStream
- Использование Java JSoup для анализа кода HTML
- Получение географической информации на основе IP-адреса с помощью GeoIP2 Java API
- Чтение и запись файла Excel в Java с использованием Apache POI
- Изучите Facebook Graph API
- Манипулирование файлами и папками в Google Drive с использованием Java
Show More