Beispiel #1
0
        private static void ParseBandwidthDocument(object sender, HtmlDocumentLoadCompleted e)
        {
            if (e.Error is WebException)
            {
                _page.ReportCredentialsError();
                return;
            }
            if (e.Error != null)
            {
                return;
            }
            var doc          = e.Document;
            var summaryTable = from desc in doc.DocumentNode.Descendants()
                               where desc.Name == "td" &&
                               desc.InnerText == "Bandwidth Class"
                               select desc.ParentNode.ParentNode;

            var resultsList = summaryTable.ElementAt(0).Elements("tr").ElementAt(1).Elements("td");
            var htmlNodes   = resultsList as HtmlNode[] ?? resultsList.ToArray();
            var results     = new BandwidthResults()
            {
                BandwidthClass = htmlNodes.ElementAt(0).InnerText,
                PolicyReceived = htmlNodes.ElementAt(1).InnerText,
                PolicySent     = htmlNodes.ElementAt(2).InnerText,
                ActualReceived = htmlNodes.ElementAt(3).InnerText,
                ActualSent     = htmlNodes.ElementAt(4).InnerText
            };

            Deployment.Current.Dispatcher.BeginInvoke(() => _page.UpdateUi(results, true));
            results.SaveToIsolatedStorage();
        }
Beispiel #2
0
        private void _DownLoadCompleted(object sender, HtmlDocumentLoadCompleted e)
        {
            if (e.Error == null)
            {
                HtmlDocument         doc = e.Document;
                System.Text.Encoding enc = doc.DeclaredEncoding;
                if (doc != null)
                {
                    string imgValue = doc.DocumentNode.SelectSingleNode("//img[@class = \"image\"]").GetAttributeValue("src", "0");
                    if (imgValue != null)
                    {
                        ContentText.Text += imgValue;

                        BitmapImage bitmapImage = new BitmapImage(new Uri(imgValue, UriKind.Absolute));
                        image1.Source = bitmapImage;
                    }
                    string title = doc.DocumentNode.SelectSingleNode("//table[@class=\"maintable\"]//td[text()='\n']//td[@align=\"center\"]").FirstChild.InnerText.Trim();

                    ContentText.Text = title;
                    string album     = doc.DocumentNode.SelectSingleNode("//table[@class=\"maintable\"]//td[text()='\n']//td[@align=\"center\"]//a").FirstChild.InnerText;
                    string albumLink = doc.DocumentNode.SelectSingleNode("//table[@class=\"maintable\"]//td[text()='\n']//td[@align=\"center\"]").GetAttributeValue("a", "0");
                    ContentText.Text += " " + album + ": " + albumLink;
                }
            }
        }
        /// <summary>
        /// HW_s the load completed.
        /// </summary>
        /// <param name="o">The o.</param>
        /// <param name="e">The e.</param>
        protected void hw_LoadCompleted(object o, HtmlDocumentLoadCompleted e)
        {
            HtmlDocument doc = e.Document;

            if (doc == null)
            {
                return;
            }
            HtmlNode docNode = doc.DocumentNode;

            HtmlNodeCollection tags      = docNode.SelectNodes(".//p[@class='sa']");
            string             scripture = tags.Count > 0 ? tags[0].InnerText : string.Empty;

            tags = docNode.SelectNodes(".//p[@class='sb']");
            string summaryText = tags.Count > 0 ? tags[0].InnerText : string.Empty;

            scripture   = scripture.Replace("&nbsp;", " ");
            summaryText = summaryText.Replace("&nbsp;", " ");

            var dt = new DailyText {
                Scripture   = scripture,
                SummaryText = summaryText
            };

            DailyTextRetrieved.Invoke(dt);
        }
Beispiel #4
0
 public void SiteLoaded(object sender, HtmlDocumentLoadCompleted args)
 {
     /*var nodes = args.Document.DocumentNode.SelectNodes("//a");
      * Results.Text = String.Join(Environment.NewLine, nodes.ToList()
      *                                              .Select(x=>x.GetAttributeValue("href",string.Empty))
      *                                              .ToList());
      * */
 }
        private void hw_LoadCompleted(object sender, HtmlDocumentLoadCompleted e)
        {
            if (e.Document != null)
            {
                var txt = e.Document;

                OnTextRetrieved(txt.DocumentNode.InnerText.Replace("\\n", "\n").Replace("&nbsp;", " ").Replace("&quot;", "\""));
            }
        }
 void DownloadCompleted(object sender, HtmlDocumentLoadCompleted e)
 {
     if (e.Error == null)
     {
         HtmlDocument doc = e.Document;
         if (doc != null)
         {
             Dispatchers.Main.BeginInvoke(() =>
             {
                 MessageBox.Show(doc.DocumentNode.Element("html").InnerHtml);
             });
         }
     }
 }
Beispiel #7
0
        private void DownloadCompleted(object sender, HtmlDocumentLoadCompleted e)
        {
            if (e.Error == null)
            {
                HtmlDocument doc = e.Document;
                if (doc != null)
                {
                    string capacity = doc.DocumentNode.Element("html").
                                      Element("body").
                                      Elements("div").ElementAt(3).
                                      Elements("table").ElementAt(0).
                                      Elements("tr").ElementAt(1).
                                      Element("td").
                                      Element("table").
                                      Element("tr").
                                      Element("tr").
                                      Elements("td").ElementAt(0).InnerText;

                    string actual = doc.DocumentNode.Element("html").
                                    Element("body").
                                    Elements("div").ElementAt(3).
                                    Elements("table").ElementAt(0).
                                    Elements("tr").ElementAt(1).
                                    Element("td").
                                    Element("table").
                                    Element("tr").
                                    Element("tr").
                                    Elements("td").ElementAt(1).InnerText;

                    string remaining = doc.DocumentNode.Element("html").
                                       Element("body").
                                       Elements("div").ElementAt(3).
                                       Elements("table").ElementAt(0).
                                       Elements("tr").ElementAt(1).
                                       Element("td").
                                       Element("table").
                                       Element("tr").
                                       Element("tr").
                                       Elements("td").ElementAt(2).InnerText;

                    capacityTextBlock.Text  = capacity;
                    actualTextBlock.Text    = actual;
                    remainingTextBlock.Text = remaining;
                }
            }
        }
Beispiel #8
0
 private void _DownLoadCompleted(object sender, HtmlDocumentLoadCompleted e)
 {
     //Busy = true;
     if (e.Error == null)
     {
         HtmlDocument         doc = e.Document;
         System.Text.Encoding enc = doc.DeclaredEncoding;
         if (doc != null)
         {
             items.Add(new ItemViewModel()
             {
                 Path      = doc.DocumentNode.SelectSingleNode("//img[@class = \"image\"]").GetAttributeValue("src", "Błąd pobierania"),
                 Title     = doc.DocumentNode.SelectSingleNode("//table[@class=\"maintable\"]//td[text()='\n']//td[@align=\"center\"]").FirstChild.InnerText.Trim(),
                 Album     = doc.DocumentNode.SelectSingleNode("//table[@class=\"maintable\"]//td[text()='\n']//td[@align=\"center\"]//a").FirstChild.InnerText,
                 AlbumPath = doc.DocumentNode.SelectSingleNode("//table[@class=\"maintable\"]//td[text()='\n']//td[@align=\"center\"]").GetAttributeValue("a", string.Empty),
                 numer     = 0
             });
         }
     }
 }
Beispiel #9
0
        private void HtmlWeb_Loaded(object sender, HtmlDocumentLoadCompleted e)
        {
            if (e.Error == null)
            {
                HtmlDocument doc = e.Document;
                //get the latest updates
                var updatesHtmlList = (from y in doc.DocumentNode.Descendants("ul")
                                       where y.Attributes.Contains("id") &&
                                       y.Attributes["id"].Value == "latestUpdatesList"
                                       select y).Single();

                //get all the strings from latest updates
                foreach (HtmlNode hn in updatesHtmlList.ChildNodes)
                {
                    Update up = new Update();
                    up.Datetime  = DateTime.Parse(hn.InnerText.Split('-')[0]);
                    up.Title     = hn.Element("a").InnerText.Substring(2);
                    up.HyperLink = "http://www.minfin.gr" + hn.Element("a").Attributes["href"].Value;
                    updates.Add(up);
                }

                updatesLst.ItemsSource = updates;
            }
        }
Beispiel #10
0
        private void OilLoadedHandler(object sender, HtmlDocumentLoadCompleted e)
        {
            if (e.Error == null)
            {
                HtmlDocument doc = e.Document;
                if (doc != null)
                {
                    //Find text
                    HtmlNodeCollection oilPriceTable = doc.DocumentNode.SelectNodes(@"//table[@style='border-collapse: collapse']");

                    var query = from row in oilPriceTable[1].SelectNodes("tr").Cast <HtmlNode>()
                                from cell in row.SelectNodes("td").Cast <HtmlNode>()
                                select new { CellText = cell.InnerText };

                    var targetTable = oilPriceTable[1];

                    // remove useless string
                    targetTable.InnerHtml = targetTable.InnerHtml.Replace("\r", "");
                    targetTable.InnerHtml = targetTable.InnerHtml.Replace("\n", "");
                    targetTable.InnerHtml = targetTable.InnerHtml.Replace("<b>", "");
                    targetTable.InnerHtml = targetTable.InnerHtml.Replace("</b>", "");

                    var tableHeader = targetTable.SelectNodes("tr").Cast <HtmlNode>().First().SelectSingleNode("td");

                    var tempHtmlNodes = targetTable.SelectSingleNode("tr").SelectNodes("td").Cast <HtmlNode>();

                    //targetTable.SelectSingleNode("tr").Remove();
                    //targetTable.SelectSingleNode("tr").InsertBefore(tableHeader, oilPriceTable[1].SelectSingleNode("tr").FirstChild);

                    //int rowNum = targetTable.SelectNodes("tr").Cast<HtmlNode>().Count();
                    //int colNum = targetTable.SelectSingleNode("tr").SelectNodes("td").Cast<HtmlNode>().Count();

                    XDocument xdoc = new XDocument(new XElement("oil"));

                    bool flag   = true;
                    bool flag2  = true;
                    bool flag3  = true;
                    int  rownum = 0;

                    foreach (var row in targetTable.SelectNodes("tr").Cast <HtmlNode>())
                    {
                        bool flag4 = true;

                        if (flag)
                        {
                            if (flag2)
                            {
                                foreach (var col in row.SelectNodes("td").Cast <HtmlNode>())
                                {
                                    //var xmlNode = new XElement("company");

                                    if (flag3)
                                    {
                                        flag3 = false;
                                    }
                                    else
                                    {
                                        var img = col.ChildNodes[0].FirstChild.Attributes["src"].Value;
                                        OilRetailsListPic.Add(img);
                                    }
                                }
                                flag2 = false;
                                rownum++;
                                continue;
                            }

                            //row.ChildNodes[0].Remove();

                            foreach (var col in row.SelectNodes("td").Cast <HtmlNode>())
                            {
                                string[] s = Regex.Split(col.ChildNodes[0].InnerHtml, "<br>");

                                OilRetailsListEn.Add(s[s.Length - 1]);
                                //var companyName = new XElement("nameEn", s[s.Length - 1]);

                                s = s.Where(val => val != s[s.Length - 1]).ToArray();

                                OilRetailsListTh.Add(string.Join("", s));
                                //var companyNameTh = new XElement("nameTh", string.Join("", s));

                                //xmlNode.Add(companyName, companyNameTh);
                                //xdoc.Root.Add(xmlNode);
                            }
                            flag = false;
                            continue;
                        }
                        else
                        {
                            // insert data to xml
                            string        oilName = string.Empty;
                            List <string> list    = new List <string>();
                            foreach (var col in row.SelectNodes("td").Cast <HtmlNode>())
                            {
                                if (flag4)
                                {
                                    // column header
                                    oilName = rownum.ToString();

                                    flag4 = false;
                                    continue;
                                }
                                else
                                {
                                    // data
                                    list.Add(col.InnerHtml);
                                }
                                Console.WriteLine(col);
                            }

                            // got name and prices!
                            oilPricesTable.Add(oilName, list);

                            rownum++;

                            Console.WriteLine(row);
                        }

                        // got table!
                        Console.WriteLine(xdoc);
                        Console.WriteLine(row);
                    }

                    try
                    {
                        string xml = OilXmlConverter.ConvertOilTableToXml(oilPricesTable, this.OilList);
                        FileManager.CreateSaveStorage(oilXml, XDocument.Parse(xml));
                    }
                    catch (Exception)
                    {
                        MessageBoxResult res = MessageBox.Show("Something doesn't right on server site. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                        if (res == MessageBoxResult.OK)
                        {
                            WebBrowserTask webBrowserTask = new WebBrowserTask();
                            webBrowserTask.Uri = new Uri(oilSite, UriKind.Absolute);
                            webBrowserTask.Show();
                        }
                    }
                }
                else
                {
                    MessageBoxResult res = MessageBox.Show("Something doesn't right on server site. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                    if (res == MessageBoxResult.OK)
                    {
                        WebBrowserTask webBrowserTask = new WebBrowserTask();
                        webBrowserTask.Uri = new Uri(oilSite, UriKind.Absolute);
                        webBrowserTask.Show();
                    }
                }
            }
            else
            {
                MessageBoxResult res = MessageBox.Show("Server cannot be reached, likely due to bad network connection. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                if (res == MessageBoxResult.OK)
                {
                    WebBrowserTask webBrowserTask = new WebBrowserTask();
                    webBrowserTask.Uri = new Uri(oilSite, UriKind.Absolute);
                    webBrowserTask.Show();
                }
            }
        }
Beispiel #11
0
        private void NgvLoadedHandler(object sender, HtmlDocumentLoadCompleted e)
        {
            if (e.Error == null)
            {
                HtmlDocument doc = e.Document;
                if (doc != null)
                {
                    //Find text
                    HtmlNodeCollection ngvPriceTable = doc.DocumentNode.SelectNodes(@"//table[@style='border-collapse: collapse']");

                    var query = from row in ngvPriceTable[1].SelectNodes("tr").Cast <HtmlNode>()
                                from cell in row.SelectNodes("td").Cast <HtmlNode>()
                                select new { CellText = cell.InnerText };

                    int rowNum = ngvPriceTable[1].SelectNodes("tr").Cast <HtmlNode>().Count();
                    int colNum = ngvPriceTable[1].SelectSingleNode("tr").SelectNodes("td").Cast <HtmlNode>().Count();

                    string[,] table = new string[rowNum, colNum];

                    //foreach (var row in ngvPriceTable[1].SelectNodes("tr").Cast<HtmlNode>())
                    //{
                    //    // got table!
                    //    Console.WriteLine(row);
                    //}

                    var           lastRow = ngvPriceTable[1].SelectNodes("tr").Last();
                    string        ngvName = "PTT";
                    List <string> list    = new List <string>();

                    foreach (var col in lastRow.SelectNodes("td"))
                    {
                        // remove useless string
                        col.InnerHtml = col.InnerHtml.Replace("\r", "");
                        col.InnerHtml = col.InnerHtml.Replace("\n", "");
                        col.InnerHtml = col.InnerHtml.Replace("<b>", "");
                        col.InnerHtml = col.InnerHtml.Replace("</b>", "");

                        list.Add(col.InnerHtml);
                    }

                    // got name and prices!
                    ngvPricesTable.Add(ngvName, list);

                    try
                    {
                        string xml = NgvXmlConverter.ConvertNgvTableToXml(ngvPricesTable, this.NgvList);
                        FileManager.CreateSaveStorage(ngvXml, XDocument.Parse(xml));
                    }
                    catch (Exception)
                    {
                        MessageBoxResult res = MessageBox.Show("Something doesn't right on server site. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                        if (res == MessageBoxResult.OK)
                        {
                            WebBrowserTask webBrowserTask = new WebBrowserTask();
                            webBrowserTask.Uri = new Uri(ngvSite, UriKind.Absolute);
                            webBrowserTask.Show();
                        }
                    }
                }
                else
                {
                    MessageBoxResult res = MessageBox.Show("Something doesn't right on server site. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                    if (res == MessageBoxResult.OK)
                    {
                        WebBrowserTask webBrowserTask = new WebBrowserTask();
                        webBrowserTask.Uri = new Uri(ngvSite, UriKind.Absolute);
                        webBrowserTask.Show();
                    }
                }
            }
            else
            {
                MessageBoxResult res = MessageBox.Show("Server cannot be reached, likely due to bad network connection. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                if (res == MessageBoxResult.OK)
                {
                    WebBrowserTask webBrowserTask = new WebBrowserTask();
                    webBrowserTask.Uri = new Uri(ngvSite, UriKind.Absolute);
                    webBrowserTask.Show();
                }
            }
        }
Beispiel #12
0
        private void LpgLoadedHandler(object sender, HtmlDocumentLoadCompleted e)
        {
            if (e.Error == null)
            {
                HtmlDocument doc = e.Document;
                if (doc != null)
                {
                    //Find text
                    HtmlNodeCollection lpgPriceTable = doc.DocumentNode.SelectNodes(@"//table[@style='border-collapse: collapse']");

                    var query = from row in lpgPriceTable[0].SelectNodes("tr").Cast <HtmlNode>()
                                from cell in row.SelectNodes("td").Cast <HtmlNode>()
                                select new { CellText = cell.InnerText };

                    int rowNum = lpgPriceTable[0].SelectNodes("tr").Cast <HtmlNode>().Count();
                    int colNum = lpgPriceTable[0].SelectSingleNode("tr").SelectNodes("td").Cast <HtmlNode>().Count();

                    string[,] table = new string[rowNum, colNum];

                    int rownum = 0;
                    foreach (var row in lpgPriceTable[0].SelectNodes("tr").Cast <HtmlNode>())
                    {
                        if (rownum == 0)
                        {
                            rownum++;
                            continue;
                        }

                        string        lpgName = string.Empty;
                        List <string> list    = new List <string>();
                        int           colnum  = 0;
                        foreach (var col in row.SelectNodes("td"))
                        {
                            // remove useless string
                            col.InnerHtml = col.InnerHtml.Replace("\r", "");
                            col.InnerHtml = col.InnerHtml.Replace("\n", "");
                            col.InnerHtml = col.InnerHtml.Replace("<b>", "");
                            col.InnerHtml = col.InnerHtml.Replace("</b>", "");

                            // replace non-value space with -
                            col.InnerHtml = col.InnerHtml.Replace("&nbsp;", "-");

                            if (colnum == 0)
                            {
                                lpgName = rownum.ToString();
                                colnum++;
                                continue;
                            }

                            list.Add(col.InnerHtml);

                            colnum++;
                        }

                        // got name and prices!
                        lpgPricesTable.Add(lpgName, list);
                        rownum++;

                        // got table!
                        Console.WriteLine(row);
                    }

                    try
                    {
                        string xml = LpgXmlConverter.ConvertLpgTableToXml(lpgPricesTable, this.LpgList);
                        FileManager.CreateSaveStorage(lpgXml, XDocument.Parse(xml));
                    }
                    catch (Exception)
                    {
                        MessageBoxResult res = MessageBox.Show("Something doesn't right on server site. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                        if (res == MessageBoxResult.OK)
                        {
                            WebBrowserTask webBrowserTask = new WebBrowserTask();
                            webBrowserTask.Uri = new Uri(lpgSite, UriKind.Absolute);
                            webBrowserTask.Show();
                        }
                    }
                }
                else
                {
                    MessageBoxResult res = MessageBox.Show("Something doesn't right on server site. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                    if (res == MessageBoxResult.OK)
                    {
                        WebBrowserTask webBrowserTask = new WebBrowserTask();
                        webBrowserTask.Uri = new Uri(lpgSite, UriKind.Absolute);
                        webBrowserTask.Show();
                    }
                }
            }
            else
            {
                MessageBoxResult res = MessageBox.Show("Server cannot be reached, likely due to bad network connection. I can take you to the website if you wish.", "I'm sorry...", MessageBoxButton.OKCancel);
                if (res == MessageBoxResult.OK)
                {
                    WebBrowserTask webBrowserTask = new WebBrowserTask();
                    webBrowserTask.Uri = new Uri(lpgSite, UriKind.Absolute);
                    webBrowserTask.Show();
                }
            }
        }