1. Предисловие
Что такое JDom?
JDOM - это проект с открытым исходным кодом, основанный на структуре деревьев, используя технологию Pure Java для анализа, генерирования, сериализации и работы на документах XML. Он непосредственно служит программированию Java, использует функции языка Java (перегрузка метода, коллекции), объединяет функции SAX и DOM и делает анализ исходного XML как можно простым. Нам будет легко использовать JDOM для анализа XML.
Преимущества JDom:
1. JDom посвящен технологии Java и занимает меньше памяти, чем приложения DOM.
2. JDom предоставляет более простой и логический базовый метод для доступа к информации о XML
3. В дополнение к файлу XML, JDOM также может получить доступ к другим источникам данных, например, вы можете создавать классы для доступа к данным из результатов запроса SQL.
JDOM COMPOSION:
JDom состоит из 6 пакетов
Класс элементов представляет элементы документа XML
org.jdom: базовый класс, который будет использоваться для анализа XML -файлов
org.jdom.adapters: класс Java, содержащий адаптацию DOM
org.jdom.filter: класс фильтров, содержащий XML -документы
org.jdom.input: java class, который содержит чтение документов XML
org.jdom.output: класс, содержащий вывод XML Document
org.jdom.trans form: содержит классы Java, которые преобразуют интерфейс документа JDOM XML в другие интерфейсы документа XML
Что такое XML?
XML является широко используемым расширяемым языком разметки. Есть много способов проанализировать XML в Java, в том числе наиболее часто используемые такие, как JDOM, DOM4J, SAX и т. Д.
Загрузка пакета jdom: http://www.jdom.org/downloads/index.html
Код автора здесь состоит в том, чтобы использовать Java для создания XML и прочитать XML, который используется только в качестве введения заметки.
2. Операция
Загрузите пакет JDOM, раскрыть файлы jdom-2.0.6.jar, jdom-2.0.6-javadoc.jar и импортировать пакет в папку LIB. (Обратите внимание, если есть ошибка, импортируйте все пакеты в JDOM)
Пример 1: Создайте файл XML с использованием JDOM с именем people.xml
Создайте новый класс CareateJdom
пакет com.book.jdom; import java.io.filenotfoundexception; import java.io.fileoutputstream; import java.io.ioexception; импорт org.jdom2.document; import org.jdom2.element; import org.jdom2.output.format; import org.jdom2. void main (string [] args) {// определить элемент элемента людей, студент; People = новый элемент («Люди»); Студент = новый элемент ("Студент"); // Установить атрибут студента.setattribute ("name", "Zhang San"); Student.Setattribute («Зарплата», «8000»); // Установить текстовый студент.settext («Hehehe»); // добавить его в корневую Directory People.adcontent (студент); Документ DOC = новый документ (PEOPLE); // Читать формат и присвоить его текущему формату FormatFormat = format.getCompactFormat (); // Инициализировать текущий формат формата. SetCoding ("UTF-8"); // Установить XML-файл oD-format.setIndent ("); // Создание выходной завод XML и дайте формат fastratour xmlout xmlout xmlout xmlout xmlout xmlout xmloutp Xmloutputter (format); try {// Отправить написанный текст на завод и создать выходной поток файла для вывода данных xmlout.output (doc, new fileOutputStream ("eleo.xml")); System.out.println ("Успех!"); Catch (ioException e) {// todo автоматически сгенерированный catch blocke.printstacktrace ();}}}/*Результат работы: <? xml version = "1.0" Encoding = "UTF-8"?Пример 2: Используйте файл jdom to parse.xml
Создайте новый класс readxml
пакет com.book.jdom; import java.io.ioexception; import java.util.list; import org.jdom2.document; import org.jdom2.element; import org.jdom2.jdomexception; импорт org.jdom2.input.saxbuilder; // читать люди. Parses xmlsaxBuilder sax = new SaxBuilder (); // Создать документ, чтобы принять документ DATA DOC; try {// Получить People.xml Document Doc = sax.build ("people.xml"); // Получить элемент корневого узла People = doc.getRootelement (); // get node data в рамках списка корневых нодеров <element> weplethiltemite (); // get node node node list> peoplechiltemite (); // get node node node <letle> peoplechiltement (); // get node node node node. для (int i = 0; i <list.size (); i ++) {element e = list.get (i); // get altual system.out.println ("name:"+e.getattributevalue ("name")+"Заработная плата:"+e.getattributevalue ("залбата")); // Получить систему Text value.out.out.printl (Jdomexception e) {e.printstacktrace ();} catch (ioexception e) {e.printstacktrace ();}}}/** Результат работы:* Имя: Zhang SAN Зарплата: 8000 Hehe**//*Расположение XML
Метод для получения различных значений атрибутов с несколькими одинаковыми именами тегов с использованием jdom <? Xml version = "1.0" encoding = "utf-8"?> <Configuration> <key name = "kina"> <value = "textkey"> china </value> <value name = "enabled"> true </value> <value = "photodwidth"> 38photoidwidwIdth </value> <значения = "photoidWidth" Name = "photoidHeight"> 38 </value> <key name = "udly"> <value name = "crownpercent"> 0.10 </value> <value name = "Headpercent"> 0.60adultheadpercent </value> </key> <key name = "kild"> <value = "crownpercent"> 0.10 </value> <value> name = "headpercom </Key> <key name = "Австралия"> <value name = "textkey"> Австралия </value> <value name = "inabled"> true </value> <value name = "photoidwidth"> 35photoidwidth </value> <value name = "photoidHeight"> 45 </value> <Key name = "> <value =" crownperce Name="HeadPercent">0.756"Adult"HeadPercent</Value> </Key> <Key Name="Child"> <Value Name="CrownPercent">0.072</Value> <Value Name="HeadPercent">0.711ChildHeadPercent</Value> </Key> <Key Name="Austria"> <Value Name="TextKey">Austria</Value> <Value Name="Enabled">true</Value> <Value Name = "photoidwidth"> 35photoidwidth </value> <value name = "photoidHeight"> 45 </value> <key name = "udly"> <value name = "crownpercent"> 0.064 </value> <value name = "headperpercent"> 0.7444ad Name = "crownpercent"> 0.078 </value> <value name = "headpercent"> 0.689childheadpercent </value> </key> </key> </configuration> Ввод пакета; импорт java.io.ioexception; import java.util.arraylist; import.util.list; import org.jdom.document org. org.jdom.jdomexception; import org.jdom.input.saxbuilder; открытый класс readxml { / ** * @param args * / public static void main (string [] args) throws jdomexception, ioexception {saxbuilder sb = new Saxbuilder (); // Создание объекта документа DOCCOM DOC = SB.BUILD (test.class.getClassLoader (). GetResourCeasStream ("nation.xml")); // Получить элемент корневого элемента root = doc.getRootelement (); // найти <configuration> -> <ключ> list <element> list = root.getChildren ("key"); Список <Element> chills = new ArrayList <element> (); Список <element> Childrens = new ArrayList <element> (); for (int i = 0; i <list.size (); i ++) {element = (element) list.get (i); System.out.print (element.getAttributeValue ("name")); // найти <configuration> -> <Key> -> <Dague> chials = element.getChildren ("value"); for (int j = 0; j <kinds.size (); j ++) {elementChildren = (element) chills.get (j); // найти <configuration> -> <Key> -> <value name = "photoidWidth"> if (elementChildren.getAttributeValue ("name"). Equals ("photoidWidth")) {// get <configuration> -> <ключ> -> name = "photoidWidth"> атрибут System.out.print ("<-----------------" "+elementchildren.getattributevalue (" name ")); // Получить содержимое <configuration>-> <Key>-> <value =" photoidWidth "> Tag System.out.print (", "+elementChild.getText ()>->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->> kids = element.getchildren ("key"); <Key> -> <Key name = "kild"> -> <ditule> childrens = elementchildren.getchildren ("value"); if (ementchildrens.getattributevalue ("name"). equals ("headpercent")) {System.out.println ("<----------->"+ementchildrens.getText ()); }}}}} }} 打印结果 : Китай <---------> PhotoidWidth, 38photoidWidth <---------> 0,60ChildEdperCenceustralia <---------> PhotoidWidth, 35PhotoidWidth <-------------> 0,711CHILDPEDERCENTIAstria <----------> PhotoidWidth, 35PhotoidWIDTH <---------Выше приведено метод использования JDOM для разбора XML в Java Web, введенном вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!