Tuesday 15 June 2010

c# - How can I parse a XML file with a list of nodes? -


अगर मेरे पास एक सरल एक्सएमएल फाइल है जैसे

  & lt; person & gt; & LT; उम्र & gt; 46 & lt; / उम्र & gt; & LT; नाम & gt; मैक्स & lt; / नाम & gt; & Lt; / व्यक्ति & gt;   

डेटा को मेरी संरचना में पढ़ने के लिए मैं XDocument और LinqToSQL का उपयोग कर सकता हूं:

  var res = xdoc.Descendants ("व्यक्ति") में आइटम से चुनें नया व्यक्ति (आयु = आइटम। एलेमेंट ("उम्र")। मान, नाम = आइटम। एलेमेंट ("नाम")। मान,};   

लेकिन अब मेरे पास एक और तत्व है, उदाहरण के लिए

  & lt; person & gt; & LT; उम्र & gt; 46 & lt; / उम्र & gt; & LT; नाम & gt; मैक्स & lt; / नाम & gt; & LT; फोन & gt; 123 & lt; / फोन & gt; & LT; फोन & gt; 456 & lt; / फोन & gt; & Lt; / व्यक्ति & gt;   

मैं अब दस्तावेज़ कैसे पढ़ सकता हूं और डेटा को मेरी संरचना में पढ़ सकता हूं? क्योंकि अब मुझे स्ट्रिंग्स की एक सूची की आवश्यकता है, लेकिन मैं हर फ़ोन लाइन को कैसे प्राप्त कर सकता हूं और इसे मेरी सूची में कैसे जोड़ूं?

धन्यवाद।

मैं लगता है कि आप बस के लिए देख रहे हैं:

  var res = xdoc.Descendants में आइटम (" व्यक्ति "), नया व्यक्ति {आयु = आइटम चुनें। एलेमेंट (" आयु ") मान, नाम = आइटम। एलेमेंट (" नाम ")। मूल्य, फ़ोन = आइटम। एलेमेंट्स (" फोन ")। (X => x चुनें । वैल्यू) .ओलिस्ट ()};   

मैं आयु को एक पूर्णांक बना सकता हूँ (या आदर्श रूप में जन्म तिथि को DateTime के बजाय, लेकिन ...), और शायद एक्सडॉक में "आइटम" से " (इंट) आइटम। एलेमेंट ("आयु"), नाम = (स्ट्रिंग) आइटम। एलेमेंट ("नाम"), फ़ोन = आइटम। एलेमेंट्स ("फोन")। (X = & gt; (स्ट्रिंग) x) चुनें। ()};

यह सब मानता है कि आपका व्यक्ति वर्ग में एक लिखने योग्य है फ़ोन प्रकार की संपत्ति IList & lt; string & gt; या ऐसा कुछ।

No comments:

Post a Comment