आपका इनपुट मान्य XML नहीं है, इसमें आंतरिक संदेश तत्वों पर बंद टैग गुम हैं। लेकिन यह सोचते हैं प्रारूप मान्य था, आप अपने संरचना के रूप में पार्स सकता है:
string xml = @"<messages>
<message subclass=""a"" context=""d"" key=""g""/>
<message subclass=""b"" context=""e"" key=""h""/>
<message subclass=""c"" context=""f"" key=""i""/>
</messages>";
var messagesElement = XElement.Parse(xml);
var messagesList = (from message in messagesElement.Elements("message")
select new
{
Subclass = message.Attribute("subclass").Value,
Context = message.Attribute("context").Value,
Key = message.Attribute("key").Value
}).ToList();
तुम भी एक पूर्ण XML दस्तावेज़ के लिए XDocument
उपयोग करें, और Parse
के बजाय Load
विधि का उपयोग कर सकते हैं अगर आप एक एक्सएमएल फ़ाइल उपयोग कर रहे थे या एक धारा, उदाहरण के लिए। इसके अतिरिक्त, यदि आप एक परिभाषित हैं तो आप एक ठोस वर्ग में चयन कर सकते हैं।
class Message
{
public string Subclass { get; set; }
public string Context { get; set; }
public string Key { get; set; }
}
के एक वर्ग परिभाषा आप क्वेरी में select new Message
इस्तेमाल कर सकते हैं, और परिणाम एक List<Message>
होगा, जबकि अभी यह एक गुमनाम प्रकार की एक सूची है को देखते हुए।
स्रोत
2012-02-01 02:54:58