准备介绍一个操作xml的工具,由于代码太长,逻辑有点复杂。所以分2篇文章介绍,这里先介绍本工具实现的主要功能。
本工具在webservice系统间通信时尤为有用。
其主要有2个用途:
1) 根据xml字符串转相应java对象,支持list属性层级和普通属性层级
2) 根据java对象转相应的xml字符串,支持嵌套转xml
先给出简单的说明例子,比如:
假设我们已经定义了一个学生类Student,有属性id,name,bir,age及相应的get,set方法,有相应xml字符串,
"<Student age=/"10/">"+
"<NAME>hhh</NAME>"+
"<ID></ID>"+
"<BIR></BIR>"+
"</Student>"
现在来看我们的简单工具是怎么使用的?,够不够简单?呵呵
用途1: 对于给定xml转java对象
使用代码如下,
String xml="<Student age=/"10/">"+
"<NAME>hhh</NAME>"+
"<ID></ID>"+
"<BIR></BIR>"+
"</Student>";
Student s=new Student();
//共有3个参数
s = (Student) XmlUtil.createTarget(xml, s, null);
System.out.println(s.toString());
参数说明,参数1,2很明了。
参数3:截断表达式字符串,有时xml协议会有许多的头结点信息,我们可以直接从我们关心的节点开始截取进行
解析成java对象 举个例子如下,
String xml="<XML><DATA><Student age=/"10/">"+
"<NAME>hhh</NAME>"+
"<ID></ID>"+
"<BIR></BIR>"+
"</Student>"+
"</DATA></XML>";
Student s=new Student();
//共有3个参数
s = (Student) XmlUtil.createTarget(xml, s, "//DATA/");//表示截取DATA结点下的xml字符串转对象
System.out.println(s.toString());
用途2:对于给对象,将其转化为具有层级关系的xml字符串,并且属性age属于相应的节点
Student s=new Student();
s.setAge("10");
s.setName("hhh");
String xml = XmlUtil.createXml(s);
System.out.println(xml);
结果同上的xml。
工具不错吧,你只需提供你的javabean和xml,那么利用本工具只需一行代码即可完成相互转化。
完整的测试代码如下(xml操作工具分享-实现篇)
本文介绍了一款实用工具,能轻松实现XML字符串与Java对象间的相互转换,支持属性层级处理,适用于WebService系统间通信场景。

1万+

被折叠的 条评论
为什么被折叠?



