Assuming you know the type, you have an instance of it, and that the method is really public:
string methodName = parent.Element("METHOD").Value;
MethodInfo method = type.GetMethod(methodName);
object[] arguments = (from p in method.GetParameters()
let arg = element.Element(p.Name)
where arg != null
select (object) arg.Value).ToArray();
if (arguments.Length != method.GetParameters().Length)
{
throw new ArgumentException("Parameters didn't match");
}
method.Invoke(instance, arguments);
Please note that here I am using a case-sensitive name that will not work with your sample. If you want to be case insensitive, this is a bit more complicated, but still doable - I personally would advise you that the XML conform to the method, if at all possible.
( , GetMethod.)