Удалить узел XDocument по идентификатору - PullRequest
0 голосов
/ 09 марта 2012

Надеюсь, это будет легко исправить.

Я удаляю узлы xml, используя следующий код.

    XDocument XD = XDocument.Parse(content);
    XD.Root.Descendants("{http://www.w3.org/2000/svg}rect").Remove();

Это работает нормально, но теперь я хочу сделать предложение where в прямоугольнике, чтобы удалить только узлы с идентификатором "bpr". Я видел несколько примеров, в том числе .Where, но, похоже, не хочет работать с моим кодом.

Может кто-нибудь помочь?

Спасибо

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Более простая альтернатива (IMO) ответу Foo42:

XDocument XD = XDocument.Parse(content);
XD.Root.Descendants("{http://www.w3.org/2000/svg}rect")
       .Where(el => (string) el.Attribute("id") == "bpr")
       .Remove();
1 голос
/ 09 марта 2012
XDocument XD = XDocument.Parse(content);
    XD.Root.Descendants("{http://www.w3.org/2000/svg}rect").Where(el => el.Attributes().Contains(at => at.Name == "id" && at.Value == "bpr")).Remove();

Я думаю, что-то вроде этого должно работать

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