コード例 #1
0
 private string DajPodatakIzDokumenta(ref HtmlAgilityPack.HtmlDocument dok, PodaciOAutomobilu tipPodatka, string nazivPodatka, string podrVred)
 {
     return(DajPodatakIzDokumenta(ref dok, tipPodatka, new string[] { nazivPodatka }, podrVred));
 }
コード例 #2
0
 private string DajPodatakIzDokumenta(ref HtmlAgilityPack.HtmlDocument dok, PodaciOAutomobilu tipPodatka)
 {
     return(DajPodatakIzDokumenta(ref dok, tipPodatka, string.Empty, string.Empty));
 }
コード例 #3
0
        private string DajPodatakIzDokumenta(ref HtmlAgilityPack.HtmlDocument dok, PodaciOAutomobilu tipPodatka, string[] nazivPodatka, string podrVred)
        {
            // odredjivanje stringa za pretragu
            string putanja = string.Empty;

            switch (tipPodatka)
            {
            case PodaciOAutomobilu.OpsteInformacije:
            case PodaciOAutomobilu.DodatneInformacije:
                putanja = "//*[@id=\"tbl-details\"]";
                break;

            case PodaciOAutomobilu.Sigurnost:
            case PodaciOAutomobilu.Oprema:
                putanja = string.Empty;
                break;

            case PodaciOAutomobilu.Opis:
                putanja = "//*[@id=\"tab_bg\"]/div[1]";
                break;

            case PodaciOAutomobilu.Kontakt:
                putanja = "//*[@id=\"details-agency\"]/div[1]";
                break;
            }
            if (putanja.Equals(string.Empty))
            {
                return(string.Empty);
            }

            // citanje cvora iz putanje
            HtmlAgilityPack.HtmlNodeCollection nodeColl;
            try
            {
                nodeColl = dok.DocumentNode.SelectNodes(putanja);
            }
            catch (Exception ex)
            {
                Dnevnik.PisiSaThredomGreska("Greska pri citanju HTML cvora na putanji " + putanja);
                return(string.Empty);
            }

            // odredjivanje podatka
            switch (tipPodatka)
            {
            case PodaciOAutomobilu.OpsteInformacije:
                if (nodeColl != null && nodeColl[0].ChildNodes != null)
                {
                    foreach (HtmlAgilityPack.HtmlNode node in nodeColl[0].ChildNodes)
                    {
                        if (node.ChildNodes.Count > 0)
                        {
                            foreach (string nazPod in nazivPodatka)
                            {
                                if (node.ChildNodes[1].InnerHtml.Trim().ToLower().Contains(nazPod.ToLower()))
                                {
                                    return(node.ChildNodes[3].InnerHtml.Trim());
                                }
                            }
                        }
                    }
                }
                else
                {
                    Dnevnik.PisiSaThredom("Nema cele tabele.");
                }
                return(podrVred);

                break;

            case PodaciOAutomobilu.DodatneInformacije:
                if (nodeColl != null && nodeColl[1].ChildNodes != null)
                {
                    foreach (HtmlAgilityPack.HtmlNode node in nodeColl[1].ChildNodes)
                    {
                        if (node.ChildNodes.Count > 0)
                        {
                            foreach (string nazPod in nazivPodatka)
                            {
                                if (node.ChildNodes[1].InnerHtml.Trim().ToLower().Contains(nazPod.ToLower()))
                                {
                                    return(node.ChildNodes[3].InnerHtml.Trim());
                                }
                            }
                        }
                    }
                }
                else
                {
                    Dnevnik.PisiSaThredom("Nema cele tabele.");
                }
                return(podrVred);

                break;

            case PodaciOAutomobilu.Sigurnost:
            case PodaciOAutomobilu.Oprema:
                break;

            case PodaciOAutomobilu.Opis:
                if (nodeColl != null && nodeColl.Count > 0)
                {
                    foreach (HtmlAgilityPack.HtmlNode node in nodeColl[0].ChildNodes)
                    {
                        if (node.ChildNodes != null && node.ChildNodes.Count > 1 &&
                            node.ChildNodes[1].InnerHtml.Trim().ToLower().Equals("opis"))
                        {
                            if (node.ChildNodes.Count >= 3)
                            {
                                return(node.ChildNodes[3].InnerHtml);
                            }
                        }
                    }
                }
                return(podrVred);

            case PodaciOAutomobilu.Kontakt:
                if (nodeColl != null && nodeColl.Count > 0)
                {
                    return(Common.Korisno.Korisno.TrimMultiline(nodeColl[0].InnerText));
                }
                break;
            }
            return(String.Empty);
        }