2009-12-10 20 views
10

मैं HTML चपलता पैक का उपयोग करने के अंदर से विवरण पाठ पाने के लिए कोशिश कर रहा हूँ:एचटीएमएल चपलता पैक

<meta name="description" content="**this is the text i want to extract and store in a string**" /> 

और अगर कोई Stackoverflow पर थोड़ी देर पहले सुझाव दिया मैं HTMLAgilityPack का उपयोग करें। लेकिन मुझे नहीं पता कि इसका उपयोग कैसे किया जाए, और इसके लिए प्रलेखन जो मैंने पाया है (डाउनलोड में निहित दस्तावेज़ों सहित) में सभी के पास अमान्य लिंक हैं और दस्तावेज़ों को नहीं देख सकते हैं।

क्या कोई इसे हल करने में मेरी सहायता कर सकता है?

+1

मैं उलझन में हूँ - आप HtmlAgilityPack या नहीं का निर्माण किया है? क्या यह उदाहरण हैं जो निर्माण नहीं करते हैं? या कोर डीएल? यदि उत्तरार्द्ध, आपने क्या संदर्भित किया है? –

+0

धन्यवाद मार्क। मैंने अपना प्रश्न संपादित कर लिया है और आगे भ्रम से बचने के लिए उस हिस्से को हटा दिया है। अब इसके बारे में सोचते हुए, वह विशिष्ट हिस्सा वास्तव में मेरे प्रश्न के सापेक्ष नहीं था, बल्कि यह कहने के लिए जानकारी का अभाव था कि मैं सवाल क्यों पूछ रहा हूं। –

+0

मैं अपने ऐप में डीएलएल फ़ाइल में एक संदर्भ जोड़ने में सक्षम हूं। तो मैं htmlagility पैक "उपयोग" कर सकते हैं। –

उत्तर

16

उपयोग XmlDocument के समान है; आप व्यापक निरीक्षण के लिए XmlDocument पर एमएसडीएन का उपयोग कर सकते हैं; आप xpath वाक्यविन्यास भी सीखना चाहेंगे (MSDN)।

उदाहरण:

HtmlDocument doc = new HtmlDocument(); 
doc.Load(path); // or .LoadHtml(html); 
HtmlNode node = doc.DocumentNode.SelectSingleNode("//meta[@name='description']"); 
if (node != null) { 
    string desc = node.GetAttributeValue("content", ""); 
    // TODO: write desc somewhere 
} 

दूसरा तर्क GetAttributeValue करने के लिए डिफ़ॉल्ट के मामले में लौटे विशेषता नहीं पाया जाता है।

+0

का मान 'node.GetAttributeValue (" content "," "); 'के लिए उपयोग किया जाने वाला दूसरा स्ट्रिंग तर्क (खाली एक) क्या है? – Alex

+0

@AlexW - इस समय उस पुस्तकालय में "हाथ" नहीं है; पैरामीटर क्या कहा जाता है? –

+0

पैरामीटर नाम पर निश्चित नहीं है ... बाद में पता लगाने के लिए परिभाषा पथ का पालन करेंगे। यहां जवाब के लिए धन्यवाद, वी उपयोगी। – Alex

0

सार्वजनिक स्ट्रिंग HtmlAgi (स्ट्रिंग यूआरएल, स्ट्रिंग कुंजी) {

var Webget = new HtmlWeb(); 
    var doc = Webget.Load(url); 
    HtmlNode ourNode = doc.DocumentNode.SelectSingleNode(string.Format("//meta[@name='{0}']", key)); 

    if (ourNode != null) 
    { 


      return ourNode.GetAttributeValue("content", ""); 

    } 
    else 
    { 
     return "not fount"; 
    } 

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