您好我有以下xml
<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 :(得分:1)
使用std.Elements("address")
代替std.Descendants("address")