private void procesarTuple(XmlElement elemento) { string[] partes = elemento.Name.Split(':'); string nombreTupla = partes[partes.Length - 1].Replace('-', '_'); GeneradorClase generador = GeneradorClase.getInstance(_ensambladoCiente); object objetoInstancia = generador.ObtenerInstancia(nombreTupla); Type tipoInstancia = objetoInstancia.GetType(); try { foreach (XmlElement hijo in elemento.ChildNodes) { string valor = hijo.FirstChild.Value; string[] hijoPartes = hijo.Name.Split(':'); string nombreHijo = hijoPartes[hijoPartes.Length - 1]; rellenarAtributo(objetoInstancia, tipoInstancia, valor, nombreHijo); } } catch (InvalidCastException) { string valor = elemento.FirstChild.Value; rellenarAtributo(objetoInstancia, tipoInstancia, valor, "Valor"); } //buscamos el contexto string idContext = elemento.GetAttribute("contextRef"); IContexto contexto = (IContexto)_contextos[idContext]; IConcepto conceptoInstancia = (IConcepto)objetoInstancia; conceptoInstancia.setContexto(contexto); IXBRLContenedorInstanciasObjetos contenedor = XBRLContenedorObjetosInstancias.ObtenerInstancia(); contenedor.InsertarObjeto((IConcepto)objetoInstancia); }