powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java pojo to xml простой генератор и валидатор
4 сообщений из 4, страница 1 из 1
Java pojo to xml простой генератор и валидатор
    #38416472
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день :

ищу самый простой способ конвертации ( xml-java-xml ) есть будет задействован простой протокол -

Код: xml
1.
2.
3.
4.
5.
<?xml version="1.0" encoding="UTF-8"?>
<команда>
	<Параметр>Параметр</Параметр>
	<Параметр1>Параметр1</Параметр1>
</команда>



Нужно преобразовывать такой формат в обычные java бины , а так же обратно

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
class команда {

private T Параметр пар;
private T Параметр1 пар2;


get()
set()
}




Валидация данных ( как xml так и pojo).


Ищу современные библиотеки для такой обработки, может кто-то что то посоветовать

Скорее всего

будет все просто : @XmlRootElement

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.Element;

@XmlRootElement
public class Address {

    private String street;

    private String city;

    private String state;

    private String country;

    @XmlElement(name="postal-code")
    private String postalCode;

}



Код: xml
1.
2.
3.
4.
5.
6.
<address>
    <street>123 A Street</street>
    <city>Any Town</city>
    <state>A State</state>
    <postal-code>12345</postal-code>
</address>



Но если потребуется что то более сложное -в какую сторону смотреть ?
...
Рейтинг: 0 / 0
Java pojo to xml простой генератор и валидатор
    #38416479
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Googleить по фразе "java xml binding".
...
Рейтинг: 0 / 0
Java pojo to xml простой генератор и валидатор
    #38416891
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все что пришло на ум это написать такую обертку , может то подскажет как грамотее сделать преобразования ?

По модели у нас куча бинов в модели которые проаннотированы @XmlRootElement - и которые нужно гонять туда - суда.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
import java.io.FileReader;
import java.io.Writer;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;

public class Utils {
    public static <T> T unmarshaller(Class<T> aClass , FileReader fileReader) throws JAXBException {
       JAXBContext context = JAXBContext.newInstance(aClass);
       Unmarshaller um = context.createUnmarshaller();
       T result = (T) um.unmarshal(fileReader);
       return result;
     
 }
    
    public static <T> void marshaller(T obj, Writer writer) throws JAXBException {
        JAXBContext context = JAXBContext.newInstance(obj.getClass());
        Marshaller m = context.createMarshaller();
        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
        m.marshal(obj, writer);
    }



Пример
Код: java
1.
2.
3.
4.
5.
6.
7.
   Bookstore bookstore =  Utils.unmarshaller(Bookstore.class, new FileReader(BOOKSTORE_XML));
   list = bookstore .getBooksList();
       
    
        
  Writer writer = new FileWriter("new.xml"); 
  Utils.marshaller(b , writer);



в класс Utils - добавить потом методы для чтения/записи из разных источников .
...
Рейтинг: 0 / 0
Java pojo to xml простой генератор и валидатор
    #38418553
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как правильно описать T ?

чтобы в T можно было использовать только объекты в моей модели у которых есть аннотация @XmlRootElement ?

Приходит на ум в каждом такой классе указать наследование от маркерного интерфейса :


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
/**
 * Маркерный интерфейс 
 */
interface Entity {
    
}


public class Book implements Entity{
...

public static <T extends Entity> T unmarshaller(Class<T> aClass , Reader reader) throws JAXBException {
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Java pojo to xml простой генератор и валидатор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]