आशा है कि कोई मेरी मदद कर सकता है।एचटीएमएलएजिलिटीपैक और नोड्स और सबनोड्स का चयन
चलो कहते हैं कि मैं एक HTML दस्तावेज़ है कि इस उदाहरण की तरह कई divs शामिल है:
<div class="search_hit">
<span prop="name">Richard Winchester</span>
<span prop="company">Kodak</span>
<span prop="street">Arlington Road 1</span>
</div>
<div class="search_hit">
<span prop="name">Ted Mosby</span>
<span prop="company">HP</span>
<span prop="street">Arlington Road 2</span>
</div>
मैं HtmlAgilityPack का उपयोग कर HTML दस्तावेज़ प्राप्त करने के लिए। मुझे यह जानने की ज़रूरत है कि मैं प्रत्येक "search_hit" -div के लिए स्पैन कैसे प्राप्त कर सकता हूं?
foreach (HtmlAgilityPack.HtmlNode node in doc.DocumentNode.SelectNodes("//div[@class='search_hit']"))
{
foreach (HtmlAgilityPack.HtmlNode node2 in node.SelectNodes("//span[@prop]"))
{
}
}
प्रत्येक div गुण के रूप में शामिल फैला के साथ एक वस्तु होना चाहिए:
मेरी पहली सोचा कुछ इस तरह था। आई ई।
public class Record
{
public string Name { get; set; }
public string company { get; set; }
public string street { get; set; }
}
और यह सूची तो भरा जाएगा:
public List<Record> Results = new List<Record>();
लेकिन XPath का उपयोग कर मैं उपनोड यह करना चाहिए के रूप में में एक खोज नहीं कर रहा है। यह seams है कि यह पूरे दस्तावेज़ को बार-बार खोजता है।
मेरा मतलब है कि मुझे पहले से ही इस तरह से काम मिल रहा है कि मुझे बस पूरे पृष्ठ की अवधि मिलती है। लेकिन तब मुझे स्पैन और divs के बीच कोई संबंध नहीं है। मतलब: मैं अब और नहीं जानता कि कौन सा काल संबंधित div से संबंधित है।
क्या कोई समाधान ढूंढता है? मैंने पहले से ही इतना खेला है कि मैं अब पूरी तरह उलझन में हूं :)
किसी भी मदद की सराहना की जाती है!
अपना कोड पार्सिंग (पूर्ण कार्य समाधान) को पार्स करने के तरीकों के लिए मेरा उत्तर देखें। –