मैं एचटीएमएल चपलता पैक का उपयोग एचटीएमएल पेज से छवि और href लिंक को पार्स करने के लिए करना चाहता हूं, लेकिन मुझे एक्सएमएल या एक्सपीएथ के बारे में बहुत कुछ पता नहीं है। हालांकि कई वेबसाइटों में मदद दस्तावेज़ देख रहे हैं, मैं बस नहीं कर सकता समस्या को हल करें। इसके अलावा, मैं VisualStudio 2005 में सी # का उपयोग करता हूं। और मैं बस अंग्रेजी को स्पष्ट रूप से नहीं बोल सकता, इसलिए, मैं कुछ ईमानदार धन्यवाद दूंगा कि कोई उपयोगी कोड लिख सकता है।एचटीएमएल एजिलिटी पैक का उपयोग कर img/src या a/hrefs कैसे प्राप्त करें?
उत्तर
first example मुख पृष्ठ पर बहुत कुछ इसी तरह करता है, लेकिन पर विचार करें:
HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm"); // would need doc.LoadHtml(htmlSource) if it is not a file
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href"])
{
string href = link["href"].Value;
// store href somewhere
}
तो आप कल्पना कर सकते है कि img src @ के लिए, बस img
के साथ प्रत्येक a
, और href
src
के साथ बदलें।
foreach(HtmlNode node in doc.DocumentElement
.SelectNodes("//a/@href | //img/@src")
{
list.Add(node.Value);
}
रिश्तेदार यूआरएल से निपटने के लिए, Uri
वर्ग को देखो: तुम भी करने के लिए आसान बनाने के लिए सक्षम हो सकता है।
बहुत बहुत धन्यवाद! और यह मेरा पहला पूछताछ अनुभव है – iShow
+1 @Marc ... उत्कृष्ट ... यह वही है जो मैं ढूंढ रहा हूं ... –
मुझे त्रुटि मिलती है: दस्तावेज़ के लिए HtmlDocument ऑब्जेक्ट में दस्तावेज़ नहीं है। 0.0 संस्करण HtmlAgilitypack foreach (doc.DocumentNode.SelectNodes में HtmlNode लिंक ("// a [@href]") { HtmlAttribute att = link.Attributes ["href"]; – Kiquenet
उदाहरण और स्वीकृत उत्तर गलत है। यह नवीनतम संस्करण के साथ संकलित नहीं है। मैं कुछ और कोशिश करता हूं:
private List<string> ParseLinks(string html)
{
var doc = new HtmlDocument();
doc.LoadHtml(html);
var nodes = doc.DocumentNode.SelectNodes("//a[@href]");
return nodes == null ? new List<string>() : nodes.ToList().ConvertAll(
r => r.Attributes.ToList().ConvertAll(
i => i.Value)).SelectMany(j => j).ToList();
}
यह मेरे लिए काम करता है।
शायद मुझे उत्तर पोस्ट करने में बहुत देर हो चुकी है। निम्नलिखित मेरे लिए काम किया:
var MainImageString = MainImageNode.Attributes.Where(i=> i.Name=="src").FirstOrDefault();
- 1. एचटीएमएल एजिलिटी पैक
- 2. एचटीएमएल एजिलिटी पैक कक्षा
- 3. एचटीएमएल एजिलिटी पैक नोड्स का चयन करें
- 4. एचटीएमएल एजिलिटी पैक मदद
- 5. एचटीएमएल एजिलिटी पैक - पार्सिंग टेबल
- 6. एचटीएमएल एजिलिटी पैक - विशिष्ट नोड
- 7. सी # एचटीएमएल एजिलिटी पैक (SelectSingleNode)
- 8. एचटीएमएल एजिलिटी पैक: टिप्पणी नोड
- 9. एचटीएमएल एजिलिटी पैक नया HTMLNode
- 10. एचटीएमएल एजिलिटी पैक। लोड और स्क्रैप वेबपृष्ठ
- 11. एचटीएमएल एजिलिटी पैक, नोड से चयन नोड
- 12. क्या मैं इसके लिए एचटीएमएल एजिलिटी पैक का उपयोग कर सकता हूं?
- 13. एचटीएमएल एजिलिटी पैक स्ट्रिप टैग श्वेतसूची में नहीं
- 14. एचटीएमएल एजिलिटी पार्सिंग
- 15. एचटीएमएल एजिलिटी पैक - हेड एलिमेंट के शीर्ष पर तत्व कैसे जोड़ सकता है?
- 16. एचटीएमएल चपलता पैक
- 17. एचटीएमएल चपलता पैक मैं चपलता पैक का उपयोग कर रहा एचटीएमएल पार्स करने के लिए, इस प्रश्न का अनुसरण
- 18. एचटीएमएल चपलता पैक
- 19. एचटीएमएल चपलता पैक
- 20. पैरामीटर पैक की लंबाई कैसे प्राप्त करें?
- 21. जावास्क्रिप्ट का उपयोग कर एचटीएमएल या एचटीएमएल का निर्माण?
- 22. एचटीएमएल डिवीजन पैक
- 23. जावास्क्रिप्ट का उपयोग कर मूल्य प्राप्त करें या पोस्ट करें?
- 24. चयन विशेषता एचटीएमएल चपलता पैक के साथ महत्व देता
- 25. टिंकर में पैक या ग्रिड लेआउट का उपयोग कब करें?
- 26. क्या एचटीएमएल एजिलिटी पैक अभी भी सबसे अच्छा .NET HTML पार्सर है?
- 27. एचटीएमएल चपलता पैक और Linq
- 28. एएसपी.नेट एमवीसी: एचटीएमएल का उपयोग करें। पार्टिकल या एचटीएमएल। एक्शन?
- 29. जावा का उपयोग कर एचटीएमएल कोड कैसे डीकोड करें?
- 30. ले लो एचटीएमएल चपलता पैक
और, एचटीएमएल एजिलिटी पैक सापेक्ष पथ हल कर सकता है? – iShow