2016-05-10 6 views
10

मेरे पास एक काम है। मुझे एक विशिष्ट id (id उपयोगकर्ता इनपुट से आधारित tag या href पुनर्प्राप्त करने की आवश्यकता है)। उदाहरण मैं एक html इसHtmlAgilityPack - आईडी द्वारा टैग कैसे प्राप्त करें?

तरह

<manifest> 

<item href="Text/Cover.xhtml" id="Cov" media-type="application/xhtml+xml" /> 
    <item href="Text/Back.xhtml" id="Back" media-type="application/xhtml+xml" /> 
    </manifest> 
मैं पहले से ही इस कोड होता है। कृपया मेरी मदद करें। धन्यवाद आप

HtmlAgilityPack.HtmlDocument document2 = new 

HtmlAgilityPack.HtmlDocument(); 
document2.Load(@"C:\try.html"); 
HtmlNode[] nodes = document2.DocumentNode.SelectNodes("//manifest").ToArray(); 

foreach (HtmlNode item in nodes) 
{ 
    Console.WriteLine(item.InnerHtml); 
} 

उत्तर

12

अगर मैं सही ढंग तो समझ में:

HtmlAgilityPack.HtmlDocument document2 = new HtmlAgilityPack.HtmlDocument(); 
document2.Load(@"C:\try.html"); 

string tag = document2.GetElementbyId("yourid").Name; 
string href = document2.GetElementbyId("yourid").GetAttributeValue("href", ""); 
+0

धन्यवाद। यह पूरी तरह से काम करता है – knowme

+0

कोई समस्या नहीं, शुभकामनाएँ;) – nrkz

2

आप अपने id विशेषता मान द्वारा item तत्व को खोजने के लिए निम्नलिखित XPath का उपयोग कर सकते हैं:

var id = "Back"; 
var query = $"//manifest/item[@id='{id}']"; 
HtmlNode node = document2.DocumentNode.SelectSingleNode(query); 
string href = node.GetAttributeValue("href", ""); 
+0

बस मामले में आप कर रहे हैं ('$') चिह्न से परिचित नहीं: [स्ट्रिंग-इंटरपोलेशन ऑपरेटर] (https://msdn.microsoft.com/en-us/library/dn961160.aspx?f=255&MSPPError=-2147217396) – har07

+0

कभी इस तरह हिंग? लेकिन मैं उस कोड का आउटपुट कैसे प्राप्त कर सकता हूं? क्या मैं यह ठीक कर रहा हूँ? क्योंकि यह मुझे रन टाइम पर त्रुटि देता है। मेरे गूंगा प्रश्न HtmlAgilityPack.HtmlDocument दस्तावेज़ 2 = नया HtmlAgilityPack.HtmlDocument(); दस्तावेज़ 2.लोड (@ "सी: \ try.html"); var id = "पीछे"; var query = $ "// manifest/item [@id = '{id}']"; एचटीएमएल नोड नोड = document2.DocumentNode.SelectSingleNode (क्वेरी); संदेशबॉक्स। दिखाएं (नोड.ToString()); – knowme

+0

@knowme अपडेट किया गया। – har07

संबंधित मुद्दे