上文解决了生成xml时如何添加Namespace的问题;实际项目中将返回报文解析成java对象后发现“根对象”下面嵌套的javabean内容全是null,起初怀疑是我建立对象时层次关系设计错了,毕竟有30多个类,嵌套层次也很多,仔细排查后发现并没有。后来通过上文的几个测试类ClassA、B、C重现了null场景,原因就是返回报文也有一个命名空间,且不是放在根节点上,这就导致根对象是可以映射出来的,但是下面嵌套的bean就全是null了。
<?xml version="1.0" encoding="UTF-8"?>
<ClassA>
<ClassAID>1</ClassAID>
<ClassAName>1</ClassAName>
<ClassB xmlns="http://www.cnblogs.com" classBId="22" classBName="B2"></ClassB>
<classCs>
<ClassC>
<Test>lyy</Test>
</ClassC>
<ClassC>
<T