Лекции.Орг


Поиск:




Создание и запись XML-документов




Документы можно не только читать, но также модифицировать и создавать совершенно новые.

Для создания документа необходимо создать объект каждого класса
(Element, Attribute, Document, Text и др.) и присоединить его к объекту, который в дереве XML-документа находится выше. В данном разделе будет рассматриваться только анализатор JDOM.

Element

Для добавления дочерних элементов, текста или атрибутов в элемент XML-документа нужно использовать один из следующих методов:

Element addContent(Content child) – добавляет дочерний элемент;

Element addContent(int index, Content child) – добавляет дочерний элемент в определенную позицию;

Element addContent(String str) – добавляет текст в содержимое элемента;

Element setAttribute(Attribute attribute) – устанавливает значение атрибута;

Element setAttribute(String name, String value) – также устанавливает значение атрибута;

Element setContent(Content child) – заменяет содержимое этого элемента на элемент, переданный в качестве параметра;

Element setContent(int index, Content child) – заменяет дочерний элемент на определенной позиции элементом, переданным как параметр;

Element setName(String name) – устанавливает имя элемента;

Element setText(String text) – устанавливает текст содержимого элемента.

Text

Класс Text также имеет методы для добавления текста в элемент XML-документа:

void append(String str) – добавляет текст к уже имеющемуся;

void append(Text text) – добавляет текст из другого объекта Text, переданного в качестве параметра;

Text setText(String str) – устанавливает текст содержимого элемента.

Attribute

Методы класса Attribute для установки значения, имени и типа атрибута:

Attribute setAttributeType(int type) – устанавливает тип атрибута;

Attribute setName(String name) – устанавливает имя атрибута;

Attribute setValue(String value) – устанавливает значение атрибута.

Следующий пример демонстрирует создание XML-документа и запись его в файл. Для записи XML-документа используется класс XMLOutputter.

/* пример # 10: создание и запись документа с помощью JDOM:

JDOMLogic.java */

package chapt16.saver.dom;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.List;

import java.util.Iterator;

import org.jdom.Document;

import org.jdom.Element;

import org.jdom.output.XMLOutputter;

import chapt16.entity.Student;

 

public class JDOMLogic {

public static Document create(List<Student> list) { //создание корневого элемента <studentsnew>

Element root = new Element("studentsnew");

Iterator<Student> studentIterator =

list.iterator();

while (studentIterator.hasNext()) {

Student student = studentIterator.next();

//создание элемента <student> и его содержимого

Element studentElement = new Element("student");

//создание атрибутов и передача им значений

studentElement.setAttribute("login",

student.getLogin());

studentElement.setAttribute("phone",

student.getTelephone());

 

Element faculty = new Element("faculty");

faculty.setText(student.getFaculty());

//«вложение» элемента <faculty> в элемент <student>

studentElement.addContent(faculty);

 

Element name = new Element("name");

name.setText(student.getName());

studentElement.addContent(name);

//создание элемента <address>

Element addressElement = new Element("address");

Student.Address address = student.getAddress();

 

Element country = new Element("country");

country.setText(address.getCountry());

addressElement.addContent(country);

 

Element city = new Element("city");

city.setText(address.getCity());

addressElement.addContent(city);

 

Element street = new Element("street");

street.setText(address.getStreet());

// «вложение» элемента <street> в элемент <address>

addressElement.addContent(street);

//«вложение» элемента <address> в элемент <student>





Поделиться с друзьями:


Дата добавления: 2016-04-03; Мы поможем в написании ваших работ!; просмотров: 326 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

819 - | 780 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.