linq to xml - отображать результаты на основе массива или списка - PullRequest
0 голосов
/ 15 июля 2010

У меня есть XML-файл, в котором я хочу сделать запрос для отображения всех статей с определенными идентификаторами в нем. Это то, что я пытался, но почему-то я не могу заставить его работать. Я огляделся по сторонам, и все, что я мог найти, это примеры использования linq to sql.

Любая помощь будет оценена ...

Ура, Терри

Идентификаторы хранятся в формате XML

<relatedcontent articleID="1, 2, 3, 4" />

Вот мой linq

 var mylinks = (from item in relatedLinks.Descendants("link") 
    where item.Attribute("linkID").Value.Contains("1, 2")
        select new
          {
            testlink = item.Value
          });

    foreach (var newarticles in mylinks)
       {
         Response.Write(newarticles .testlink);
       }

1 Ответ

0 голосов
/ 15 июля 2010

Что вы делаете сейчас, так это ищите статьи, где Id содержит строку «1, 2», например, если Id был «5, 8, 1, 2, 9».желание, вероятно, наоборот;найти статьи, в которых «1, 2» содержит идентификатор, то есть статьи с идентификатором «1» и «2»:

var ids = new HashSet<string>();
ids.Add("1");
ids.Add("2");

var mylinks =
  from item in relatedLinks.Descendants("link") 
  where ids.Contains(item.Attribute("linkID").Value)
  select new { testlink = item.Value };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...