以采购入库单为例:
可以解压scm_im-server.jar 得到源码:
1、 WSPurInWarehsBillFacadeSrvProxy代理
2、 WSPurInWarehsBillFacadeSrvProxy 调用IPurInWarehsBillFacade接口,String[] importData(String paramString)
3、 PurInWarehsBillFacade实现,IPurInWarehsBillFacade接口,String[] importData(String paramString)
4、 PurInWarehsBillFacade类调用getController().importData(getContext(), xmlData);
5、 PurInWarehsBillFacadeController接口中String[] importData(Context paramContext, String paramString)
6、 AbstractPurInWarehsBillFacadeControllerBean实现接口PurInWarehsBillFacadeController的String[] importData(Context paramContext, String paramString)方法,但是没有实现抽象方法String[] _importData(Context paramContext, String paramString)
7、 PurInWarehsBillFacadeControllerBean实现抽象类AbstractPurInWarehsBillFacadeControllerBean的方法String[] _importData(Context ctx, String xmlData)
8、 String[] _importData(Context ctx, String xmlData)方法中调用了XMLUtil工具类返回了HASHMAP的表头和表体,validateProperty进行验证,并获取HASHMAP中的”CU”给info赋值。给表头CoreBaseInfo info通过buildBillHead()赋值,通过builBillEntries()给表体赋值。。
9、 PurInWarehsBillFacadeControllerBean的setXXXProperties方法调用PurInWarehsBillConstant的静态变量映射。
10、 如果对xml标签做对应的话 ,可修改setXXXProperties方法和PurInWarehsBillConstant的变量映射。其中(String)billHeadMap.get(strProperties[i]))获取xml数据的对应值。
内置一些XML解析工具类管关注下。