我有一个问题,我必须修改java web上传实用程序(执行第三方Web服务)中的现有代码,并且必须使excel电子表格中的所有字段“可选”而不是强制性的混合和可选字段。上传电子表格后,会进行检查以验证上传的数据,验证完成后,会有一个类用于构建输入到输入xml的元素列表,并附加字符串数组将数据优化到这些元素。一旦构建完成,它就会被传递给webservice来执行。
下面的HandleUploadUtilVO类中的构造函数方法假定了一个预定义的元素列表:
public HandleUploadUtilVO(String[] row) throws aException {
clearOldObjects();
elements = new ArrayList();
elements.add("order");
elements.add("order_h");
elements.add("event");
elements.add("event_d");
elements.add("event_d");
recursiveAttr = populateRecursiveAttribute();
try {
mapElementsToAttributes(elements, row);
}
catch (aException e) {
e.printStackTrace();
throw new aException(aException.GENERIC_IO_ERROR, e
.getMessage());
}
}
正如您在此构造函数方法中看到的那样,我们预先填充具有给定值的元素列表。方法mapElementsToAttributes(List elementList,String [] row)需要List的输入参数(在我们遍历预定义元素列表的方法中,检查它是否等于列表中的一个值并附加属性和值) ,以及表示excel行数据的String []。此方法检查excel数据(行)并将属性附加到元素(已在构造函数方法中预定义并用作mapElementsToAttributes方法的输入),然后获取要附加到Excel的excel数据的值元素的属性。
我的问题是可能存在没有填充字段并且不需要元素的情况(在我的情况下,它可以是一个事件元素或两者),因此需要从列表中删除元素和属性。当列表已经预先填充为mapElementsToAttributes方法的输入时,我该怎么做?它不像在执行方法之前从列表中删除那么简单。任何帮助或建议将不胜感激。