XLINQ: как исключить узел в XML с помощью XLINQ - PullRequest
0 голосов
/ 17 февраля 2010

привет, у меня есть следующий 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
                    };

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

1 Ответ

1 голос
/ 17 февраля 2010

Используйте std.Elements("address") вместо std.Descendants("address")

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