Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pobieranie informacji ze strony

Ostatnio zmodyfikowano 2012-10-04 18:30
Autor Wiadomość
ridic14
Temat założony przez niniejszego użytkownika
» 2012-10-04 17:15:58
dobra znalazłem to co mnie interesuje w skrypcie ale taraz mam pytanie ...

jak mam skrypt:


</td>
<td class="al">
EUR
</td>
<td class="ar">
4,0933

</td>
Tłumaczenie problemu w bezsensowny spośób:
no to tu wiem że użyję metody do szukania i wpiszę tekst EUR i znajdzie... ale jak zrobić żeby zapisać także wartość klika linijek niżej...


Spróbuję wytłumaczyć to w bardziej zrozumiały sposób...

Czy da się napisać program który szuka tekstu np EUR po czym
a) pomija następne wersy aż do napotkania liczby
lub
b) pomija wybraną ilość wersów
P-66047
savior
» 2012-10-04 17:28:22
Jeśliby interesowało pobranie z podanego przeze mnie xml'a to poniżej masz algorytm do zrobienia tego w c#

StringBuilder headers = new StringBuilder();
        System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient();
        String xmlFileName = String.Empty;
        // Łączysz się ze stroną banku
        client.Connect("www.nbp.pl", 80);
        System.Net.Sockets.NetworkStream stream = client.GetStream();
        System.IO.StreamWriter writer = new System.IO.StreamWriter(stream);
        writer.NewLine = "\r\n";
        writer.AutoFlush = true;
        System.IO.StreamReader reader = new System.IO.StreamReader(stream);
        // Przedstawiasz się jako FireFox Mozilla i żądasz pliku dir.txt, który zawiera nazwy plików XML z kursami walut
        headers.AppendLine("GET /Kursy/xml/dir.txt HTTP/1.0");
        headers.AppendLine("Host: www.nbp.pl");
        headers.AppendLine("User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.10) Gecko/20050717 Firefox/1.0.6");
        headers.AppendLine("");
        // Wysyłasz Request
        writer.Write(headers.ToString());
        // Pobierasz nazwę najaktualniejszego pliku XML z kursami walut
        while (!reader.EndOfStream)
        {
            string chwila = reader.ReadLine();
            if ((chwila != "") && (chwila[0] == 'a'))
                xmlFileName = chwila;
        }
        string plikXML = "http://www.nbp.pl/kursy/xml/" + xmlFileName + ".xml";
        System.Xml.XmlReader xml = null;
        System.Xml.XmlReaderSettings ustawienia = new System.Xml.XmlReaderSettings();
        ustawienia.IgnoreWhitespace = true;
        ustawienia.IgnoreProcessingInstructions = true;
        string TMP = "";
        try
        {
            xml = System.Xml.XmlReader.Create(plikXML, ustawienia);
            while (xml.Read())
            {
                switch (xml.NodeType)
                {
                    case System.Xml.XmlNodeType.XmlDeclaration: break;
                    case System.Xml.XmlNodeType.Comment: break;
                    case System.Xml.XmlNodeType.Element: TMP = System.Convert.ToString(xml.Name); break;
                    case System.Xml.XmlNodeType.EndElement: break;
                    case System.Xml.XmlNodeType.Text:
                        switch (TMP)
                        {
                            case "nazwa_waluty":  ddlWaluta.Items.Add(xml.Value); break;
                            case "przelicznik": ddlPrzelicznik.Items.Add(xml.Value); break;
                            case "kod_waluty": ddlKodWaluty.Items.Add(xml.Value); break;
                            case "kurs_sredni": ddlKurs.Items.Add(xml.Value); break;
                        }
                        break;

                }
            }
        }
        catch (Exception exc)
        {

        }
        finally
        {
            xml.Close();
        }
P-66049
ridic14
Temat założony przez niniejszego użytkownika
» 2012-10-04 17:36:32
a czy istnieje w fstream metoda którą wskazałbym linie do zapisania

np. linie 254 z pliku jakiegoś
P-66050
DejaVu
» 2012-10-04 18:30:58
Temat zamykam z prostego powodu - rozmowy zeszły na problemy niezwiązane z tematem.
P-66062
1 « 2 »
Poprzednia strona Strona 2 z 2