Ejemplo n.º 1
0
        public List<ClHtml.resultadoClima> ClimaSvc()
        {
            Metodos mt = new Metodos();

            List<ClHtml.resultadoClima> cl = new List<ClHtml.resultadoClima>();

            XDocument xml = XDocument.Parse(mt.getPage("http://www.climatempo.com.br/rss/capitais.xml"));

            XmlTempo xt = (from n1 in xml.Descendants("channel").Elements("item")
                           where n1.Element("title").Value == "saopaulo/sp - Previsão do Tempo"
                           select new XmlTempo
                           {
                               title = n1.Element("title").Value,
                               description = n1.Element("description").Value
                           }).First();

            cl = mt.preencherClima(xt);

            string[] HtmlResp;
            List<ClHtml.ResultadoHtml> RespList = new List<ClHtml.ResultadoHtml>();

            string url = "http://www.climatempo.com.br/previsao-do-tempo/cidade/558/saopaulo-sp";

            HtmlResp = mt.getPage(url).Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);

            foreach (string s in HtmlResp)
            {
                RespList.Add(new ClHtml.ResultadoHtml() { resultado = s });
            }

            Regex filtro = new Regex("((googletag.pubads)(.*?)(setTargeting))|(<span class=\"dados-momento-li-span-first-child\">Umidade:)|(Intensidade do Vento:)");

            RespList = RespList.Where(a => filtro.IsMatch(a.resultado)).ToList();

            Regex filtroTipo;
            string replaceTipo;

            replaceTipo = @"((.*?)("",""))|(""\);)";

            filtroTipo = new Regex("(.*?)(tmomento)(.*?)");
            cl[0].tmomento = Convert.ToInt32(mt.adicionarTransito(filtroTipo, replaceTipo, RespList));

            filtroTipo = new Regex("(.*?)(cmomento)(.*?)");
            cl[0].status = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            filtroTipo = new Regex("(.*?)(regiao)(.*?)");
            cl[0].vento = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            filtroTipo = new Regex("(.*?)(Umidade:)(.*?)");
            replaceTipo = @"((.*?)(<li)(.*?)(<span>))|(%</span></li>)";
            cl[0].umidade = Convert.ToInt32(mt.adicionarTransito(filtroTipo, replaceTipo, RespList));

            filtroTipo = new Regex("(.*?)(Intensidade do Vento:)(.*?)");
            replaceTipo = @"((.*?)(<li)(.*?)(<span>))|(</span></li>)";
            cl[0].velocidadevento = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            return cl;
        }
Ejemplo n.º 2
0
        public ClHtml.resultadoTransito TransitoSvc()
        {
            Metodos mt = new Metodos();
            string filtro = "(<div id=\")((CentroLentidao)|(LesteLentidao)|(NorteLentidao)|(OesteLentidao)|(SulLentidao))(\")(.*?)(</div>)";
            string url = "http://cetsp1.cetsp.com.br/monitransmapa/agora/";

            List<ClHtml.ResultadoHtml> RespList = mt.filtroHtml(filtro, url);

            ClHtml.resultadoTransito Transito = new ClHtml.resultadoTransito();

            Regex filtroTipo;
            string replaceTipo;

            filtroTipo = new Regex("(.*?)(NorteLentidao)(.*?)");
            replaceTipo = @"((.*?)(<div id)(.*?)(>))|( km)(.*?)(</div>)";
            Transito.norte = mt.adicionarTransito(filtroTipo,replaceTipo,RespList);

            filtroTipo = new Regex("(.*?)(LesteLentidao)(.*?)");
            Transito.leste = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            filtroTipo = new Regex("(.*?)(CentroLentidao)(.*?)");
            Transito.centro = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            filtroTipo = new Regex("(.*?)(OesteLentidao)(.*?)");
            Transito.oeste = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            filtroTipo = new Regex("(.*?)(SulLentidao)(.*?)");
            Transito.sul = mt.adicionarTransito(filtroTipo, replaceTipo, RespList);

            int total = 0;

            total += Convert.ToInt32(Transito.norte);
            total += Convert.ToInt32(Transito.sul);
            total += Convert.ToInt32(Transito.leste);
            total += Convert.ToInt32(Transito.oeste);
            total += Convert.ToInt32(Transito.centro);

            Transito.total = total.ToString();

            return Transito;
        }