Monday, 15 July 2013

http - read specific websourcecode in c# -


जब मैं एक बटन दबाता हूं, तो निम्न होता है:

  एचटीटीपी वेबबर्वर अनुरोध = (एचटीटीपी वेबबर्ब) WebRequest .Create ( "http://oldschool.runescape.com/slu"); HttpWebResponse प्रतिक्रिया = (HttpWebResponse) request.GetResponse (); स्ट्रीमरेडर sr = नया स्ट्रीमरेडर (प्रतिक्रिया। गेटरस्पॉन्सस्ट्रीम ()); RichTextBox1.Text = sr.ReadToEnd (); sr.Close ();   

संक्षेप में डेटा मेरे टेक्स्टबॉक्स में स्थानांतरित हो जाता है (यह पूरी तरह से काम करता है)

अब अगर मैं विश्व 78 चुनता हूं (उदाहरण के लिए, कंबोडिया से, यह उस पंक्ति के आखिरी अंक) मैं मान 968 प्राप्त करना चाहता हूं, यदि मैं 14 दुनिया का चुनाव करता हूं, तो मुझे 973 मूल्य मिलना है।

यह मुद्रित डेटा का एक उदाहरण है

  ई (378, सच, 0, "पुरानास्कूल 78", 968, "संयुक्त राज्य अमेरिका", "यूएस", "ओल्ड स्कूल 78"); ई (314, सच, 0, "बूढ़े स्कूल 14", 973, "संयुक्त राज्य अमेरिका", "यूएस", "ओल्ड स्कूल 14");   

मैं इसे पढ़ने के लिए क्या उपयोग कर सकता हूं?

इसलिए यहाँ दो समस्याएं हैं, सबसे पहले सही रेखा का चयन कर रहा है, फिर संख्या बाहर हो रही है

सबसे पहले आप प्रत्येक पंक्ति को सूची में प्राप्त करने के लिए एक विधि चाहते हैं, उदाहरण के लिए:

  सूची & lt; स्ट्रिंग & gt; लाइन = नई सूची & lt; स्ट्रिंग & gt; () स्ट्रिंग पंक्ति = sr.ReadLine (); जबकि (रेखा! = नल) {lines.Add (पंक्ति); लाइन = sr.ReadLine (); // अगले पंक्ति को पढ़ें}   

फिर आपको प्रासंगिक रेखा ढूंढनी होगी और इसे से टोकन प्राप्त करना होगा।

शायद सबसे आसान तरीका है, प्रत्येक के लिए

उदाहरण के लिए

उदाहरण के लिए,

  foreach (स्ट्रिंग लाइन इनफ़ाइल लाइनों में) {// स्ट्रिंग को टोकन स्ट्रिंग में विभाजित करें [] टोकन = लाइनइनफ़ाइल। नमूना (',', '\' ',' (',') '); // नमूना स्ट्रिंग के आधार पर और हमने इसे कैसे विभाजित किया है, // हम 15 वीं एंट्री स्ट्रिंग एंड पीरामेटर = टोकन लेते हैं [15]; // endParamter = "ओल्ड स्कूल 14" ...   

अब हम नंबर का उपयोग करने के लिए उपयोग करते हैं। हम जिस पद्धति का उपयोग करेंगे वह डी + है, अर्थात् 1 या अधिक अंक।

  रेगेक्स नंबरफेंडर = नया रेगेक्स ("\\ d +"); मैच संख्या मैच = नंबरफाइंडर। मैच (एंडपैमेटर); // हम मानते हैं कि एक मैच है, क्योंकि अगर कोई स्ट्रिंग नहीं है / सही नहीं है, तो आपको कुछ त्रुटि संभाल यहाँ स्ट्रिंग मिलान करना चाहिए संख्या = numberMatch.Value; Int मान = Int32.Parse (मिलान वैल्यू); // हम स्ट्रिंग को संख्या में परिवर्तित कर देते हैं यदि (मान == वांछित व्हल्यू) ...   

हम जांचते हैं कि मान उस मान से मेल खाता है जो हम देख रहे थे (जैसे 14), अब हम आपको वह संख्या प्राप्त करने की आवश्यकता है जिसे आप चाहते थे।

हमने पहले से ही पैरामीटर विभाजित किए हैं, और जो संख्या हम चाहते हैं वह 8 वीं वस्तु है (जैसे स्ट्रिंग [] टोकन में सूचकांक 7)। चूंकि, कम से कम आपके उदाहरण में, यह सिर्फ एक अकेला संख्या है, हम इसे प्राप्त करने के लिए केवल पार्स कर सकते हैं।

  {वापस IN32.Parse (टोकन [7]); }}   

फिर हम यह मान रहे हैं कि स्ट्रिंग आपके द्वारा दिखाए गए स्वरूपों में है, और आपको यहां त्रुटि सुरक्षा करना चाहिए

No comments:

Post a Comment