private void procesarContexto(XmlElement elemento) { IContexto contexto = new Contexto(); contexto.Id = elemento.GetAttribute("id"); foreach (XmlElement estructura in elemento.ChildNodes) { string[] s = estructura.Name.Split(':'); string e = s[s.Length - 1].ToLower(); if (e.Equals("entity")) { XmlNode identificador = estructura.FirstChild; IIdentificadorContexto contextoIdentificador = contexto.Identificador; contextoIdentificador.Descripcion = identificador.FirstChild.Value; contextoIdentificador.URI = identificador.Attributes[0].Value; //extraccion de segmentos XmlNode segmentos = identificador.NextSibling; if (segmentos != null) { XmlElement segmentos = contexto.Segmentos; foreach (XmlElement segmento in segmentos.ChildNodes) { segmentos.Add(segmento); } } } else if (e.Equals("period")) { XmlNode primerHijo = estructura.FirstChild; string elem = primerHijo.Name.ToLower(); if (elem.Equals("startdate")) { IPeriodoInicioFin periodo = new PeriodoInicioFin(primerHijo.FirstChild.Value, primerHijo.NextSibling.FirstChild.Value); contexto.Periodo = periodo; } else { IPeriodoInstante periodo = new PeriodoInstante(primerHijo.FirstChild.Value); contexto.Periodo = periodo; } } //else if (e.Equals("scenario")) //{ //} } _contextos.Add(contexto.Id, contexto); //throw new Exception("The method or operation is not implemented."); }