XLINQ фильтрация - PullRequest
       6

XLINQ фильтрация

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

Как мне взять этот XML и отфильтровать элемент меню, помеченный как эксперт, используя XLINQ, и вернуть остаток?

<data>
   <preferences />
   <menus>
      <menu type="expert">
         <sub />
      </menu>
      <menu type="beginner">
         <sub />
      </menu>
   </menus>
</data>

Таким образом, результат будет:

<data>
   <preferences />
   <menus>
      <menu type="beginner">
         <sub />
      </menu>
   </menus>
</data>

1 Ответ

2 голосов
/ 12 февраля 2010
        // parse the DOM if needed
        XDocument doc =XDocument.Parse(xml);
        // find the expert menu items
        var remove = doc.Descendants("menu").Where(
            menu => (string)menu.Attribute("type") == "expert").ToList();
        // remove them
        foreach (var item in remove) {
            item.Remove();
        }
        // to get output
        string s = doc.ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...