您的位置:首页 > 编程语言 > Java开发

java xml解析工具

2016-03-03 11:57 351 查看

wxml工具 ## 现在为大家介绍个自己制作的xml解析工具:wxml。这块工具可以自动的将xml和java类进行相互的转换,

整个过程可能只需要1-2行代码。当然jaxb也是可以完成这样的功能的,不过我个人认为我的工具更简单些。不说这么多,看代码。


使用方式:1.非注解方式映射规则:将java类中的属性映射成xml的元素(如果要映射成属性需要开启注解)

2.注解方式:默认是不开启注解的,需要执行WxmlFactory.setAnnotation(true);手动设置开启。

常用的注解有:(1)@WxmlRootElement(使用在类名上,必须的,如果开启注解后类没这个注解会报错)

(2)@WxmlElement(使用在类属性上,表示映射成xml元素。可以设置所需要映射的元素名,如果没有此标签或@WxmlAttribute,则该属性不会被映射)

(3)@WxmlAttribute(使用在类属性上,表示映射成xml元素的属性。可以设置所需要映射的元素属性名,如果没有此标签或@WxmlElement,则该属性不会被映射)

(4)@ParentElement(使用在类属性上,表示元素的父元素。)

下载

文档

@Test

public void testXmlToList() throws DocumentException, WxmlException{

Document doc=XmlParseUtil.readClassPath(“/indi/wzl/test/resource/test.xml”);

List list = WxmlFactory.parseList(doc, “data”, TestData.class);

System.out.println(JSON.toJSONString(list));

}

将xml解析成list集合

@Test

public void testXmlToBean() throws WxmlException, DocumentException{

Document doc=XmlParseUtil.readClassPath(“/indi/wzl/test/resource/testList.xml”);

//设置启动annotation,默认是不启动

WxmlFactory.setAnnotation(true);

TestBean tb = (TestBean) WxmlFactory.parse(TestBean.class, doc);

System.out.println(JSON.toJSONString(tb));

}

将xml解析成bean

@Test

public void testXmlToListMap() throws DocumentException, WxmlException{

Document doc=XmlParseUtil.readClassPath(“/indi/wzl/test/resource/test.xml”);

List list = WxmlFactory.parseList(doc, “data”,Map.class);

System.out.println(JSON.toJSONString(list));

}

将xml解析成更复杂的list集合

@Test

public void testBeanToXml() throws WxmlException{

TestBean2 t = new TestBean2();

t.setChannel(“1”);

t.setTest(“3”);

t.setVersion(“1.0”);

String str = WxmlFactory.toXml(t,”root”);

System.out.println(“s:”+str);

}

将java类转换成xml

@Test

public void testAnnotationToXml() throws WxmlException{

TestBean2 t = new TestBean2();

t.setChannel(“1”);

t.setTest(“3”);

t.setVersion(“1.0”);

WxmlFactory.setAnnotation(true);

String str = WxmlFactory.toXml(t,”root”);

System.out.println(“s:”+str);

}

开启annotation方式转换成xml

@Test

public void testToXmlMap() throws WxmlException{

Map map = new HashMap();

map.put(“k1”,”v1”);

map.put(“k2”,”v2”);

map.put(“k3”,”v3”);

map.put(“k4”,”v4”);

String str = WxmlFactory.toXml(map,”root”);

System.out.println(“s:”+str);

}

将map转换成xml

@Test

public void testBeanToXml2() throws WxmlException{

TestBean2 t = new TestBean2();

t.setChannel(“1”);

t.setTest(“3”);

t.setVersion(“1.0”);

List list = new ArrayList();

TestData data = new TestData();

data.setBigmaplink(“1”);

data.setCategory(“2”);

data.setCategoryname(“s”);

TestData data2 = new TestData();

data2.setBigmaplink(“1”);

data2.setCategory(“2”);

data2.setCategoryname(“s”);

list.add(data);

list.add(data2);

t.setData(list);

Map map = new HashMap();

map.put(“k1”,”v1”);

map.put(“k2”,”我的”);

map.put(“k3”,”v3”);

map.put(“k4”,”v4”);

t.setMap(map);

//设置启动annotation

WxmlFactory.setAnnotation(true);

String str = WxmlFactory.toXml(t,”root”);

System.out.println(“s:”+str);

}

相关的xml文件此处就不张贴上来,相关详情可以下载源代码看看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: