是否有像GSON这样的免费开放源代码的SOAP解析器,它将自动将解析的数据映射到相应的bean?如果没有,您可以推荐一个不错但是免费的开源SOAP解析器吗?
您可以尝试JAXB
(用于XML绑定的Java体系结构)API。看一下示例:
Xml文档
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Child>
<foo>10</foo>
</Child>
<Child>
<foo>20</foo>
</Child>
</Root>
Java POJO代表XML模式
@XmlRootElement(name="Root")
class Bar{
private List<Foo> list=new ArrayList();
@XmlElement(name="Child")
public List<Foo> getList(){ return list;}
}
class Foo{
private Integer foo;
public Foo(){ foo=0;}
public Foo(Integer foo) { this.foo=foo;}
public Integer getFoo() { return foo; }
public void setFoo(Integer foo){ this.foo=foo;}
}
要从XML读取Java对象
JAXBContext context=JAXBContext.newInstance(Bar.class);
Unmarshaller um=context.createUnmarshaller();
Bar bar=(Bar)um.unmarshal(new File("x:\\path\\xmldoc.xml")); // you may specify the URL too.
System.out.println(bar.getList());
for(Foo c:bar.getList()){
System.out.println(c.getFoo());
}