इस XML फ़ाइल को देखते हुए: निम्न कोड काम नहीं करता (रिक्त आउटपुट देता है): लेकिन यह कोड काम करता है (सही तरीके से फ़ोल्डर को प्रिंट करता है): क्या यह नेट में एक बग है? समस्या यह है कि इसलिए जब आप फ़ाइल को इसलिए जब आपने
& lt;? Xml संस्करण = "1.0" एन्कोडिंग = "utf-8" & gt; & LT; विन्यास & gt; & LT; स्टार्टअप & gt; & Lt; समर्थित क्रम संस्करण = "v4.0" sku = ".NETFramework, संस्करण = v4.5" / & gt; & Lt; / स्टार्टअप & gt; & LT; mySection & gt; & Lt; नेटवर्कशेयर फ़ोल्डर = "\\ myFolder \ v1" / & gt; & Lt; / mySection & gt; & Lt; / विन्यास & gt;
var नेविगेटर = XElement.Load (कॉन्फ़िगरेशन प्रबंधक। OpenExeConfiguration (ConfigurationUserLevel.None) .FilePath) .CreateNavigator (); Var q = navigator.Select ("/ कॉन्फ़िगरेशन / mySection / NetworkShare"); यदि (q.Count == 1) // q.Count 0 है (q.MoveNext ()); कंसोल.दूषित लाइन (q.Current.GetAttribute ("फ़ोल्डर", नेविगेटर .फिरफिक्स)); }
var नेविगेटर = XDocument.Load (कॉन्फ़िगरेशन प्रबंधक। OpenExeConfiguration (ConfigurationUserLevel.None) .FilePath ) .CreateNavigator (); Var q = navigator.Select ("/ कॉन्फ़िगरेशन / mySection / NetworkShare"); यदि (q.Count == 1) // q.Count 1 {q.MoveNext () है; कंसोल.दूषित लाइन (q.Current.GetAttribute ("फ़ोल्डर", नेविगेटर .फिरफिक्स)); }
XDocument पर एक प्रश्न किसी
XElement से भिन्न संदर्भ में हैं एक
XDocument के लिए, यह संपूर्ण दस्तावेज़ का प्रतिनिधित्व करता है यह बच्चा मूल तत्व है (
कॉन्फ़िगरेशन इस मामले में)
XElement के लिए, यह तत्व का प्रतिनिधित्व करता है।
XElement.Load () के माध्यम से लोड करते हैं, तो प्रश्न उस के सापेक्ष होंगे तत्व।
XDocument.Load () के माध्यम से फाइल को लोड करते हुए, क्वेरी दस्तावेज के सापेक्ष होंगे।
/ configuration /...//> क्योंकि
XElement के लिए आप वर्तमान में
कॉन्फ़िगरेशन तत्व में हैं, स्पष्ट रूप से कोई
कॉन्फ़िगरेशन बच्चा नहीं है, इसलिए क्वेरी की पैदावार कुछ भी नहीं है दूसरी ओर,
XDocument के लिए, यह अपेक्षा के अनुरूप काम करता है।
Thursday, 15 April 2010
c# - XElement.CreateNavigator vs XDocument.CreateNavigator -
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment