मैं एक्सएमएल फ़ाइल से मूल्य प्राप्त करना चाहता हूं लेकिन मैं असफल रहा। क्या आप कृपया समस्या को इंगित करने में मेरी मदद कर सकते हैं ?? क्योंकि मैंने परीक्षण करने और गुगल करने के लिए पहले से ही बहुत मेहनत की है लेकिन मैं अभी भी समस्या को नहीं देख सकता।सी # एक्सएमएल डॉक्यूमेंट सिलेक्ट नोड्स काम नहीं कर रहा है
एक्सएमएल:
<?xml version="1.0" encoding="utf-8" ?>
<Contacts>
- <Contact>
<ID>xxx</ID>
<AutoUpdateEnabled>false</AutoUpdateEnabled>
<LastChanged>2013-05-29T01:53:59.4470000Z</LastChanged>
- <Profiles>
- <Personal>
<FirstName>My First Name</FirstName>
<LastName>My Last Name</LastName>
<UniqueName>My Unique Name</UniqueName>
<SortName></SortName>
<DisplayName>My Display Name</DisplayName>
</Personal>
</Profiles>
- <Phones>
- <Phone>
<ID>3</ID>
<PhoneType>Mobile</PhoneType>
<Number>000-0000000</Number>
<IsIMEnabled>false</IsIMEnabled>
<IsDefault>false</IsDefault>
</Phone>
</Phones>
- <Locations>
- <Location>
<ID>2</ID>
<LocationType>Business</LocationType>
<CompanyName></CompanyName>
<IsDefault>false</IsDefault>
</Location>
</Locations>
</Contact>
- <Contact>
<ID>xxx</ID>
<AutoUpdateEnabled>false</AutoUpdateEnabled>
<LastChanged>2013-05-29T01:53:25.2670000Z</LastChanged>
- <Profiles>
- <Personal>
<FirstName>Person</FirstName>
<LastName>Two</LastName>
<UniqueName></UniqueName>
<SortName></SortName>
<DisplayName>Person Two</DisplayName>
</Personal>
</Profiles>
- <Emails>
- <Email>
<ID>1</ID>
<EmailType>Personal</EmailType>
<Address>[email protected]</Address>
<IsIMEnabled>false</IsIMEnabled>
<IsDefault>true</IsDefault>
</Email>
</Emails>
- <Locations>
- <Location>
<ID>2</ID>
<LocationType>Business</LocationType>
<CompanyName>Testing Company</CompanyName>
<IsDefault>false</IsDefault>
</Location>
</Locations>
</Contact>
</Contacts>
मेरे नमूना कोड:
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml("TheXMLFile.xml");
xmldoc.DocumentElement.SelectNodes("contact") // return 0 counts
xmldoc.DocumentElement.SelectNodes("/contact") // return 0 counts
xmldoc.DocumentElement.SelectNodes("/contact") // return 0 counts
xmldoc.DocumentElement.SelectNodes("/contacts/contact") // return 0 counts
xmldoc.DocumentElement.SelectNodes("*") // return 2 counts !this works
XmlNodeList elemList = xmldoc.DocumentElement.GetElementsByTagName("contact"); // return 2 counts !this also works
foreach (XmlNode node in elemList)
{
node.SelectSingleNode("Profiles") //return ""
node.SelectSingleNode("/Profiles") //return ""
node.SelectSingleNode("//Profiles") //return ""
node.SelectSingleNode(".//Profiles") //return ""
}
मैं सिर्फ "FirstName, LastName, ईमेल पता", SelectNodes
समारोह सिर्फ उम्मीद की तरह काम नहीं कर रहा प्राप्त करना चाहते हैं ... नहीं सुराग ... कृपया मदद करें। अग्रिम
क्या मैं "संपर्क" के लिए फ़ोरैच लूप का उपयोग कर सकता हूं और फिर लूप के अंदर एक ईमेल का चयन कर सकता हूं ?? – user2402624
@ user2402624: यदि आप केवल एक ही ई-मेल (संभावित रूप से एकाधिक से बाहर) चाहते हैं - हाँ, आप यह कर सकते हैं। –
मुझे पता है कि यह एक पुरानी पोस्ट है, लेकिन जो मैं देख सकता हूं उससे लोडएक्सएमएल काम नहीं करता है यदि आप किसी XMLNodeList (Xpath कथन के साथ) से चयन नोड्स चाहते हैं। मुझे एक ही परिणाम मिला - 0 इससे कोई फर्क नहीं पड़ता कि मैंने एक्सपैथ की व्यवस्था कैसे की। क्या इस बग के लिए कोई फिक्स है? – MC9000