这是一个批量导入功能,exl转换成xml.
ReadXMLTool tReadXMLTool = new ReadXMLTool(XmlFileName);
这个参数就是解析出来的xml数据,如下图.可是我在第二个set方法里面 返回的时候没有参数.有大神解答一下吗
ReadXMLTool tReadXMLTool = new ReadXMLTool(XmlFileName);
tReadXMLTool.query(ParsePath);
this.mErrors.clearErrors();
FMRiskDeParseXml tFMRiskDeParseXml = new FMRiskDeParseXml();
//险种定义表
mFMRiskSet = tFMRiskDeParseXml.getFMRiskSet(tReadXMLTool, mGlobalInput);
//险种缴费方式表
mFMRiskPayIntvSet = tFMRiskDeParseXml.getFMRiskPayIntvSet(tReadXMLTool, mGlobalInput);
//险种保险期间表
mFMRiskYearSet = tFMRiskDeParseXml.getFMRiskYearSet(tReadXMLTool, mGlobalInput);
//险种缴费期间表
mFMRiskPayPeriodSet = tFMRiskDeParseXml.getFMRiskPayPeriodSet(tReadXMLTool, mGlobalInput);
这是跟第一个set方法是一样的,可是while循环迭代>0 没有数据
public FMRiskYearSet getFMRiskYearSet(ReadXMLTool nodeInsured, GlobalInput tGlobalInput) {
FMRiskYearSchema tFMRiskYearSchema = null;
FMRiskYearSet tFMRiskYearSet = new FMRiskYearSet();
nIndex = 0;
String tempValue = "";
String tBatchNo = PubFun1.getSerialNo();
while (nodeInsured.next()) {
nIndex++;
tFMRiskYearSchema = new FMRiskYearSchema();
tempValue = parseNode(nodeInsured, PATH_FCCont_RiskCode).trim();
if (tempValue == null && "".equals(tempValue) && !checkField(tempValue, "产品编码")) {
return null;
}
tFMRiskYearSchema.setRiskCode(tempValue);
tempValue = parseNode(nodeInsured, PATH_FCCont_OutRiskCode).trim();
if (tempValue == null && "".equals(tempValue) && !checkField(tempValue, "外部产品编码")) {
return null;
}
tFMRiskYearSchema.setOutRiskCode(tempValue);
tempValue = parseNode(nodeInsured, PATH_FCCont_RiskYearMode).trim();
if (tempValue == null || "".equals(tempValue)) {
CError.buildErr(this, "保险期间方式" + nIndex + "行");
return null;
}
tFMRiskYearSchema.setRiskYearMode(tempValue);
tempValue = parseNode(nodeInsured, PATH_FCCont_RiskYearType).trim();
if (tempValue == null || "".equals(tempValue)) {
CError.buildErr(this, "保险期间单位" + nIndex + "行");
return null;
}
tFMRiskYearSchema.setRiskYearType(tempValue);
tempValue = parseNode(nodeInsured, PATH_FCCont_Value).trim();
if (tempValue == null || "".equals(tempValue)) {
CError.buildErr(this, "保险期间" + nIndex + "行");
return null;
}
tFMRiskYearSchema.setValue(tempValue);
tFMRiskYearSet.add(tFMRiskYearSchema);
}
return tFMRiskYearSet;
}
不知道为什么,求大神用经验解答一下,谢谢
返回没哟参数,是不是这个方法内部有什么错误呢?
此外,你的逻辑是不是使用tReadXMLTool,在不同的方法中进行不同的解析处理最终得到一个对应类型的结果集?
总的来看,思路没问题,所以建议仔细分析下每个方法中的解析流程。