String mapValueItemName = nodesMap == null ? null : nodesMap.item();
if(mapValueItemName != null && mapValueItemName.trim().length() < 1) mapValueItemName = null;
for(int i = 0; i < children.size(); i++) {
XMLNode elementNode = children.get(i);
if(elementNode.getChildren().size() < 1) continue;
XMLNode keyNode = elementNode.getChildren().get(0);
Object keyObject = null;
if(keyParamType.isPrimitive() || reflectUtil.isPrimitiveType(keyParamType)) {
String nodeValue = (keyNode.getChildren() == null
|| keyNode.getChildren().size() < 1) ?
"" : keyNode.getChild(0).getNodeValue();
keyObject = toValue(keyParamType, nodeValue);
} else {
keyObject = toValue(keyParamType, mapKeyItemName, keyNode);
}
if(keyObject == null) continue;
XMLNode valueNode = elementNode.getChildren().get(1);
Object valueObject = null;
if(valueParamType.isPrimitive() || reflectUtil.isPrimitiveType(valueParamType)) {
String nodeValue = (valueNode.getChildren() == null
|| valueNode.getChildren().size() < 1) ?
"" : valueNode.getChild(0).getNodeValue();
valueObject = toValue(valueParamType, nodeValue);
} else {
valueObject = toValue(valueParamType, mapValueItemName, valueNode);
}