2009-11-04 4 views

उत्तर

32

अंतर यह है कि XElement प्रकार एक XML खंड का प्रतिनिधित्व करता है जबकि XDocument प्रकार सभी संबंधित मेटा-डेटा के साथ एक संपूर्ण XML दस्तावेज़ का प्रतिनिधित्व करता है।

हालांकि कहा जा रहा है कि, सबसे सरल मामलों के लिए आप उन्हें एक दूसरे के लिए उपयोग कर सकते हैं।

यह इन दो प्रकार के बीच और उस बारे में अधिक जानकारी के लिए क्वेरी में सूक्ष्म अंतर को समझने के लिए मैं सुझाव है कि आप पढ़ सकते हैं कृपया महत्वपूर्ण है Querying an XDocument vs. Querying an XElement:

जब आप किसी दस्तावेज़ लोड के माध्यम से XDocument.Load, तो आप करेंगे पर ध्यान दें कि XElement.Load के माध्यम से लोड करते समय आपको से थोड़ा अलग तरीके से लिखना होगा।

+0

तो प्रदर्शन के अनुसार वे दोनों एक ही – Ayyash

+0

हैं, साथ ही, XDocument का सुझाव दिया जाता है यदि आप वेब के माध्यम से जेनरेट किए गए एक्सएमएल को कुछ webservice पर भेज रहे हैं। लेकिन आपने 'लोड' के लिए कहा, इसलिए यह शायद आपका मामला नहीं है। –

9

वहाँ कई परिस्थितियों में आपको एक XDocument बनाने के लिए आप की आवश्यकता नहीं कर रहे हैं। इसके बजाए, आप आमतौर पर XElement रूट नोड के साथ अपना एक्सएमएल पेड़ बना सकते हैं। जब तक आप एक विशिष्ट आवश्यकता एक दस्तावेज़ बनाने के लिए (उदाहरण के लिए, क्योंकि आप शीर्ष स्तर पर प्रसंस्करण निर्देश और टिप्पणियों को बनाने के लिए है, या आप दस्तावेज़ प्रकारों का समर्थन करने के लिए है), यह अक्सर अधिक सुविधाजनक है XElement का उपयोग अपने रूट नोड के रूप में करें।

सीधे Valid Content of XElement and XDocument Objects से। जहां तक ​​लोड विधियां ... वे दोनों अपनी संबंधित वस्तुओं में सामग्री लोड करते हैं।

+0

मुझे कुछ InfoPath रूपों को लोड/संशोधित/सहेजने की आवश्यकता है और वे प्रसंस्करण निर्देशों का व्यापक उपयोग करते हैं। XElement का उपयोग भ्रमित परिणाम दे रहा था जब तक कि मुझे यह पोस्ट नहीं मिला और XDocument पर स्विच किया गया। Sooo ... धन्यवाद! – Jasper

1

वहाँ एक अंतर है लोड हो रहा है, जबकि यह टिप्पणी XElement.Load() के मामले में लोड किया जा नहीं होगा टिप्पणी

इसलिए जबकि Xlinq के साथ काम कर हम XDocument साथ जाना चाहिए XDocument.Load() भी प्राप्त करते हैं

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