2010-02-17 2 views
0

Привет у меня есть следующий XMLXLINQ: как исключить узел в XML с помощью XLINQ

<students> 
    <student> 
    <id>12</id> 
    <name>Mohsan</name> 
    </student> 
    <student> 
    <id>2</id> 
    <name>Ali</name> 
    <address> 
     <country>Pakistan</country> 
    </address> 
    <address> 
     <country>India</country> 
    </address> 
    <parent> 
     <id>12</id> 
     <address> 
     <country>Pakistan</country> 
     </address> 
    </parent> 
    </student> 
    <student> 
    <id>3</id> 
    <name>Azhar</name> 
    </student> 
</students> 

я хочу, чтобы получить адрес единственного ученика. а не адрес его родителя. Я использовал этот запрос

var stds = from std in doc.Descendants("student") 
       select new 
        { 
         ID = std.Element("id").Value, 
         Name = std.Element("name").Value, 
         Address = from addr in std.Descendants("address") 
            select addr.Element("country").Value 
        }; 

, но этот запрос также возвращал мне адрес его родителя. который я не хочу. обратите внимание, что студент может иметь несколько адресов. скажите, пожалуйста, как исключить родительский адрес во время поиска ..

+0

до сих пор нет ответа :( – Mohsan

ответ

1

Использование std.Elements("address") вместо std.Descendants("address")

+0

спасибо. это не решить мою проблему :) – Mohsan

Смежные вопросы