Отображение XML-данных в / из Java-объектов с помощью Dozer
Проверьте отображение XML-данных в / из Java-объектов, используя dozer.
То есть, учитывая образец XML-файла, сопоставьте его с новыми классами Java с соответствующими методами get/set для различных элементов.
Пример XML-файла приведен ниже:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<cXML payloadID="1272549644772.1050674118.000000197@2Vmg9c/TnwT1ZqGdAuiHQvbDmNc=" timestamp="2010-04-29T07:00:44-07:00" version="1.2.020">
<Header>
<From>
<Credential domain="Test_Code">
<Identity>ID_SYSTEM</Identity>
</Credential>
</From>
<To>
<Credential domain="Test_Code">
<Identity>ID_SYSTEM</Identity>
</Credential>
</To>
<Sender>
<Credential domain="AribaNetworkUserId">
<Identity>test.test@sial.com</Identity>
<SharedSecret>sigma123</SharedSecret>
</Credential>
<UserAgent>Sender Application 1.0</UserAgent>
</Sender>
</Header>
</cXML>
Мне нужно сопоставить это с новым классом Java
Пожалуйста, помогите мне.
2 ответа
Решение
Основной dozer
Отображение действительно легко, если атрибуты имеют одинаковое имя / тип, они будут отображаться автоматически:
<mapping>
<class-a>org.dozer.vo.TestObject</class-a>
<class-b>org.dozer.vo.TestObjectPrime</class-b>
</mapping>
Если у вас есть несколько разных именованных атрибутов:
<mapping>
<class-a>org.dozer.vo.TestObject</class-a>
<class-b>org.dozer.vo.TestObjectPrime</class-b>
<field>
<a>one</a>
<b>onePrime</b>
</field>
</mapping>
Для получения дополнительной информации вы можете найти в руководстве пользователя и примеры XML-отображений
Пример файла dozerMapping.xml. http://dozer.sourceforge.net/schema/beanmapping.xsd">
<mapping map-id="a">
<class-a>com.java.beans.Employee</class-a>
<class-b>com.java.beans.Address</class-b>
<field>
<a>streetNumber</a>
<b>streetNumber</b>
</field>
<field>
<a>city</a>
<b>city</b>
</field>
<field>
<a>state</a>
<b>state</b>
</field>
<field>
<a>country</a>
<b>country</b>
</field>
</mapping>