2009-04-03 8 views
18

मैं कुछ लिंक को एक्सएमएल सामान सीखने की कोशिश कर रहा हूं, और मैं XElement में XPathSelectElement फ़ंक्शन में आया हूं। यह कार्य केवल वही करता है जो मुझे चाहिए, लेकिन किसी कारण से, मैं इसका उपयोग नहीं कर सकता! मेरा कोड देखें:क्या मेरे सिस्टम.एक्सएमएल.लिंक पुस्तकालय में कुछ गड़बड़ है?

 XElement rootElement = XElement.Load(dataFile); 
     XElement parentElement = rootElement.XPathSelectElement(xPath); 

मैंने हर जगह System.Xml.Linq के संदर्भों को संदर्भित किया है। मैंने जिस पुस्तकालय में कोशिश की है, वह अन्य सभी चीजें काम कर रही हैं, लेकिन XPathSelectElement विज़ुअल स्टूडियो में इंटेलिजेंस में भी दिखाई नहीं देती है।

Error 1 'System.Xml.Linq.XElement' does not contain a definition for 'XPathSelectElement' and no extension method 'XPathSelectElement' accepting a first argument of type 'System.Xml.Linq.XElement' could be found (are you missing a using directive or an assembly reference?) C:\PageHelpControl\PageHelp.cs 155 50 HelpControl

उत्तर

49

विधि का उपयोग करना कोशिश कर रहे हैं विस्तार menthods हैं:

जब ऊपर कोड के निर्माण, मैं निम्नलिखित त्रुटि मिलती है। आपको System.Xml.XPath नेमस्पेस को शामिल करने की आवश्यकता है।

14

बस दो जवाब एक साथ टाई ...

XPathSelectElement एक विस्तार विधि है। के रूप में यह उपयोग करने के लिए एक विस्तार विधि (यानी, जैसे कि वह XNode पर एक उदाहरण विधि थे) आप प्रासंगिक नाम स्थान के लिए अपने स्रोत कोड में एक using निर्देश की आवश्यकता है:

using System.Xml.XPath; 

(वहीं Extensions वर्ग है जो विस्तार विधि जीवन होता है।)

यह उसी तरह से काम करता है कि आप अपने कोड में using System.Linq; जरूरत है इससे पहले कि आप IEnumerable<T> पर Select, Where आदि का उपयोग कर सकते हैं।

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