Object value = Array.get(values, i);
if (value == null)
continue;
type = value.getClass();
XMLNode child = new XMLNode(itemName.toCharArray(), itemName, TypeToken.TAG);
node.getChildren().add(child);
if (type.isPrimitive() || XMLSerialize.REFLECT_UTIL.getRef().isPrimitiveType(type))
{
child.addChild(new XMLNode(value.toString().toCharArray(), null, TypeToken.CONTENT));
continue;
}
XMLMapper mapper = XMLSerialize.getInstance().getXMLMapper(value.getClass());
if (mapper == null)
{
child.addChild(new XMLNode(value.toString().toCharArray(), null, TypeToken.CONTENT));
continue;
}
try
{
NodeMap valueMap = value.getClass().getAnnotation(NodeMap.class);
if (valueMap == null)
{
mapper.toXML(value, child);
return;
}
XMLNode valueNode = new XMLNode(valueMap.value().toCharArray(), valueMap.value(), TypeToken.TAG);
child.addChild(valueNode);
mapper.toXML(value, valueNode);
}
catch (Exception e)
{