add JAXBUtil

This commit is contained in:
Looly
2021-06-24 23:10:56 +08:00
parent abee0ff49e
commit 74b6ac38c4
4 changed files with 134 additions and 117 deletions

View File

@@ -6,15 +6,25 @@ import org.junit.Test;
import javax.xml.bind.annotation.*;
/**
* {@link XmlBeanUtil} 工具类
* {@link JAXBUtil} 工具类
* 测试 xml bean 互转工具类
*
* @author dazer
* 测试 xml bean 互转工具类
*/
public class XmlBeanUtilTest {
public class JAXBUtilTest {
private String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
"<school>\n" +
" <school_name>西安市第一中学</school_name>\n" +
" <school_address>西安市雁塔区长安堡一号</school_address>\n" +
" <room>\n" +
" <room_no>101</room_no>\n" +
" <room_name>101教室</room_name>\n" +
" </room>\n" +
"</school>\n";
@Test
public void convertToXmlTest() {
public void beanToXmlTest() {
SchoolVo schoolVo = new SchoolVo();
schoolVo.setSchoolName("西安市第一中学");
schoolVo.setSchoolAddress("西安市雁塔区长安堡一号");
@@ -24,22 +34,23 @@ public class XmlBeanUtilTest {
roomVo.setRoomNo("101");
schoolVo.setRoom(roomVo);
String xmlStr = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
"<school>\n" +
" <school_name>西安市第一中学</school_name>\n" +
" <school_address>西安市雁塔区长安堡一号</school_address>\n" +
" <room>\n" +
" <room_no>101</room_no>\n" +
" <room_name>101教室</room_name>\n" +
" </room>\n" +
"</school>\n";
Assert.assertEquals(XmlBeanUtil.convertToXml(schoolVo), xmlStr);
Assert.assertEquals(xmlStr, JAXBUtil.beanToXml(schoolVo));
}
@Test
public void xmlToBeanTest() {
final SchoolVo schoolVo = JAXBUtil.xmlToBean(xmlStr, SchoolVo.class);
Assert.assertNotNull(schoolVo);
Assert.assertEquals("西安市第一中学", schoolVo.getSchoolName());
Assert.assertEquals("西安市雁塔区长安堡一号", schoolVo.getSchoolAddress());
Assert.assertEquals("101教室", schoolVo.getRoom().getRoomName());
Assert.assertEquals("101", schoolVo.getRoom().getRoomNo());
}
@XmlRootElement(name = "school")
@XmlAccessorType(XmlAccessType.FIELD)
private static final class SchoolVo {
public static class SchoolVo {
@XmlElement(name = "school_name", required = true)
private String schoolName;
@XmlElement(name = "school_address", required = true)