Как получить значения XElements от нескольких потомков в Windows Phone 8

Как получить значения XElements от более чем одного потомка См. мой XML-документ:

<?xml version="1.0" encoding="UTF-8"?>
<root>

<WithoutGroup>
   <StudentId>21</StudentId>
   <StudentName>Photo</StudentName>
   <Image>dshdsdhshdsghs</Image>
<WithoutGroup>

<group>
   <groupId>471</groupId>
   <groupName>General </groupName>

     <Student>
       <StudentId>85</StudentId>
       <StudentName>Action</StudentName>
       <Image>qwerxcxcxcbvbxcx</Image>
     </Student>

     <Student>
       <StudentId>27</StudentId>
       <StudentName>Docs</StudentName>
       <Image>xcxncbxncsds</Image>
     </Student>

</group>

</root>

Я хочу "ИМЯ СТУДЕНТА" и "УДОСТОВЕРЕНИЕ СТУДЕНТА", как поставить условие? Любая помощь будет принята с благодарностью!

Вот код:

 XDocument doc = XDocument.Parse(e.Result);

            List<STUDENT> list = new List<STUDENT>();

            list = (from query in doc.Descendants("WithoutGroup")
                       select new STUDENT
                       {
                           stdId = Convert.ToInt64(query.Element("StudentId").Value),
                           stdName = query.Element("StudentName").Value,
                           Icon = getImage(query.Element("Image").Value),

                       }).ToList();

person Nitesh Kothari    schedule 17.07.2014    source источник
comment
Вы провели какие-либо исследования?   -  person Selman Genç    schedule 17.07.2014
comment
@ Selman22 Selman22 да, я знаю, как получить от одного потомка, но не знаю более чем от одного потомка?   -  person Nitesh Kothari    schedule 17.07.2014
comment
возможный дубликат Разбор XML - чтение простого XML-файла и Получить значения   -  person Theolodis    schedule 17.07.2014
comment
@Theolodis Я не знаю об этом?? Пожалуйста, помогите, я застрял здесь   -  person Nitesh Kothari    schedule 17.07.2014


Ответы (1)


Если вы уверены, что за <StudentID> всегда следует <StudentName>, вы можете выбрать всех потомков <StudentID> и использовать XElement.NextNode для получения соответствующих <StudnetName> :

list = (from id in doc.Descendants("StudentId")
        select new STUDENT
                    {
                        stdId = (Int64)id,
                        stdName = (string)(XElement)id.NextNode
                    }).ToList();
person har07    schedule 17.07.2014
comment
har07, спасибо большое, работает, а как картинку показать? Я конвертирую изображение из base64 в BitMap Image. - person Nitesh Kothari; 18.07.2014