यह मेरे दस्तावेज़ में मेरे सभी <li>
तत्वों को क्यों चुनता है?एचटीएमएल एजिलिटी पैक, नोड से चयन नोड
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);
var travelList = new List<Page>();
var liOfTravels = doc.DocumentNode.SelectSingleNode("//div[@id='myTrips']")
.SelectNodes("//li");
मैं क्या चाहता हूँ "myTrips" का एक id
साथ <div>
में सभी <li>
तत्वों प्राप्त करने के लिए है।
मुझे नहीं लगता कि प्रश्न समान हैं। असल में जब वह पहला चयन करता है "// div [@ id = 'myTrips']" वर्तमान नोड बदलता है। यही कारण है कि दूसरा चयन ".//li" (वर्तमान नोड से कहीं भी) होना चाहिए और "// li" (रूट से कहीं भी नहीं) होना चाहिए। चपलता वास्तव में क्या करने की उम्मीद है। – derloopkat
@derloopkat, वे ** ** समान हैं (यहां कोई IMHO नहीं है; यदि वे नहीं थे तो आप समाधान क्वेरी में डॉट छोड़ सकते हैं, लेकिन आप नहीं कर सकते, क्या आप कर सकते हैं?)। दुर्भाग्यवश HTMLAgilityPack रूट से खोज करता है, भले ही आप किस नोड पर हों। आईएमएचओ भाग यह है - आम तौर पर दिए गए नोड पर ध्यान केंद्रित करने का बिंदु यह है कि आप ** से उस नोड को खोज जारी रखते हैं, न कि रूट से। दूसरी उप-क्वेरी में जोड़े गए डॉट के बिना समाधान क्वेरी बिल्कुल समझ में नहीं आती है, इस प्रकार सवाल है कि उनका समर्थन क्यों किया जाता है? – greenoldman
हम विभिन्न चीजों के बारे में बात कर रहे हैं। जब मैंने कहा कि प्रश्न समान नहीं हैं तो मैं "// li" और ".//li" के बारे में बात कर रहा था। "उन प्रश्नों" से आप नीचे दिए गए प्रश्नों का संदर्भ लेंगे। – derloopkat