Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Создание и запись 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; Мы поможем в написании ваших работ!; просмотров: 337 | Нарушение авторских прав


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

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

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

2484 - | 2178 -


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

Ген: 0.01 с.