2010-10-02 27 views
-1

Comment puis-je obtenir cette variable de chaîne sb pour obtenir ces variables: la valeur de IMKB: 64882,72 comment puis-je obtenir s'il vous plaît montrer SEEK idéeComment rechercher une variable de chaîne (un fichier html code source)

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Text; 
using System.Net; 
using System.IO; 

public partial class Run2 : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 


    // used to build entire input 
    StringBuilder sb = new StringBuilder(); 

    // used on each read operation 
    byte[]  buf = new byte[8192]; 

    // prepare the web page we will be asking for 
    HttpWebRequest request = (HttpWebRequest) 
    WebRequest.Create("http://www.yapikredi.com.tr/tr-TR/yatirimci_kosesi/main.aspx"); 


     //http://www.imkb.gov.tr/Home.aspx 

    // execute the request 
    HttpWebResponse response = (HttpWebResponse) 
    request.GetResponse(); 

    // we will read data via the response stream 
    Stream resStream = response.GetResponseStream(); 

    string tempString = null; 
    int count  = 0; 

    do 
    { 
    // fill the buffer with data 
    count = resStream.Read(buf, 0, buf.Length); 

    // make sure we read some data 
    if (count != 0) 
    { 
    // translate from bytes to ASCII text 
    tempString = Encoding.ASCII.GetString(buf, 0, count); 

    // continue building the string 
    sb.Append(tempString); 
    } 
    } 
    while (count > 0); // any more data to read? 

    // print out page source 
    //Console.WriteLine(sb.ToString()); 
     Response.Write(sb.ToString()); 
} 

} 
+1

Je ne comprends pas votre question, mais vous pouvez essayer d'utiliser regex .. – Peter

+0

lorsque vous cliquez sur le site Web, vous verrez les taux de bourse. l'un d'eux appelé IMKB. Je dois obtenir la valeur de IMKB. Je peux télécharger le code source en utilisant le code ci-dessus bu je dois trouver cette valeur dans cette chaîne loong sb dans le code ci-dessus, vous pouvez voir .. – theklc

Répondre

1

regardant la source de la page en question, il semble que la valeur que vous voulez est dans ce bloc de HTML:

<tr> 
    <td width="74" style="padding-left:5px;">IMKB</td> 
    <td width="45" align="right" style="padding-right:3px;"><span id="ctl00_ContentPlaceHolderIndex_lblFVeriIMKBP">64882,72</span></td> 
    <td width="44" align="right" style="padding-right:3px;"><span id="ctl00_ContentPlaceHolderIndex_lblFVeriIMKBD">% -1,35</span></td> 
</tr> 

Bien qu'il dit qu'il est XHTML, il ne semble pas être valide XML, donc l'analyser via XPath n'est pas une solution.

Je verrais si l'id de "ctl00_ContentPlaceHolderIndex_lblFVeriIMKBP" est toujours utilisé, et utiliser l'expression régulière pour trouver l'élément span dont l'attribut "id" est cette valeur.

1
string s = sb.ToString(); 
    Regex r = new Regex(@"<span id=""ctl00_ContentPlaceHolderIndex_lblFVeriIMKBP"">(.*?)</span>"); 
    Match m = r.Match(s); 
    string value = m.Groups[1].ToString(); 

mais je ne pense pas que ce soit une bonne idée. il échouera si ils changent l'ID de l'élément