c# - Problem querying web page parsed with HTML Agility Pack -
मेरे पास निम्न स्रोत कोड स्निपेट है:
& lt; div class = "discount_tools_row" & gt; & Lt; div class = "discount_tools" & gt; & LT; ul & gt; & Lt; li & gt; & lt; a href = "#" वर्ग = "शेयर-छूट" rel = "nofollow" & gt; & lt; / a & gt; & lt; / li & gt; & Lt; li & gt; & lt; a href = "/ सौदा / नक्शा / 4243683" वर्ग = "शो-स्थान" शीर्षक = "×? × × ¨ × ?? × ×? × × § ×? × ×? × × ¢ × × × × × × × × ?? डेटा-पता = "× ¨ × ?? & amp; # 39 ;? × ×? × | & amp; quot; ×? 39, × ¨ × × × × × × × × × × × × × × × × | × × ?? ?? × ?? "& gt; & lt; / a & gt; & lt; / li & gt; & Lt; / ul & gt; & Lt; link rel = "prerender" href = "http: / www.www.bigdeal.co.il/? अभियानआईडी = 873 और एसआईडी = 10" & gt; & Lt; एक वर्ग = "tavo_button" डेटा-प्रदाता = "बड़ा कदम" href = "http: //www.bigdeal.co.il/?CampaignId=873&sId=10" target = "_ blank" rel = "nofollow" & gt ;! × ª × ?? × ?? × ?? & lt; / a & gt; & Lt; / div & gt; & Lt; / div & gt; & Lt; / div & gt; एचटीएमएल एगिलिटी पैक का उपयोग मैं & lt; डेटा-पता मान, लिंक rel = "prerender" href value & gt; । के जोड़े लाने के लिए चाहता हूं मैंने निम्नलिखित की कोशिश की लेकिन गलत परिणाम मिला:
var nodes = doc.DocumentNode.SelectNodes ("// div [@class = \" discount_tools \ "]);); Var geoNodes = nodes.Where (नोड = & gt;! String.IsNullOrEmpty (नोड.ChildAttributes ("डेटा-पता")। ToString ())); उत्तरफ़ॉर्मेट ans = नया उत्तरफॉर्मेट {स्थान = भौगोलिक नोड्स। चयन (नोड = & gt; नोड। बाल तत्वों ("डेटा-पता")। ToString ())। ToList (), // नाम = नोड्स। चयन (नोड = & gt; नोड [ "डेटा-पता"]। मूल्य) जिम्मेदार बताते हैं। // ToList (), विवरण = भौगोलिक नोड्स। चयन करें (नोड = & gt; नोड। चाइल्डऍटिवेट्स ("डेटा-डायरेक्ट-यूआरएल")। ToString ())। ToList ()}; मैं सभी को प्राप्त करने की कोशिश कर रहा था
& lt; Div class = "discount_tools" & gt; डेटा-पता के साथ उनके बाल node और
& Lt; a class = "tavo_button" डेटा-प्रदाता = "बड़ा कदम" href = एक अन्य childNode
मैं अपनी क्वेरी कैसे सुधार सकता हूं?
ये मेरा समाधान था:
var nodes = doc.DocumentNode.SelectNodes (" // div [@class = \ "discount_tools \"] "); Var लिंकसंकलन = नोड्स। चयन (नोड = & gt; नोड। डिसेन्डेंट्स ("a")); सूची के & lt; स्ट्रिंग & gt; स्थान = नई सूची & lt; स्ट्रिंग & gt; (); सूची के & lt; स्ट्रिंग & gt; श्रेणियाँ = नई सूची & lt; स्ट्रिंग & gt; (); सूची के & lt; स्ट्रिंग & gt; Hrefs = नई सूची & lt; स्ट्रिंग & gt; (); फॉरचाच (लिप कलेक्शन में विविध कॉल) {string location, category, href; स्थान = GetAtt ("डेटा-पता", कॉल); यदि (! String.IsNullOrEmpty (स्थान)) {श्रेणी = GetAtt ("डेटा-प्रकार", कॉल); यदि (! String.IsNullOrEmpty (श्रेणी)) {href = GetAtt ("डेटा प्रदाता", "href", कर्नल); यदि (! स्ट्रिंग.आईएसनलऑरेक्टि (href)) (स्थान। जोड़ें (स्थान); Categories.Add (श्रेणी); Hrefs.Add (href); }}}} पर क्लिक करें
Comments
Post a Comment