Я пытался удалить элемент-потомк из XElement (используя .Remove()), и я, кажется, получаю ссылку на нулевой объект, и я не уверен, почему.Удалить элемент из XML на основе значения атрибута?
Взглянув на предыдущий вопрос с этим названием (see here), я нашел способ, чтобы удалить его, но я до сих пор не понимаю, почему так, как я попробовал 1-й не работал.
Может кто-нибудь просветить меня?
String xml = "<things>"
+ "<type t='a'>"
+ "<thing id='100'/>"
+ "<thing id='200'/>"
+ "<thing id='300'/>"
+ "</type>"
+ "</things>";
XElement bob = XElement.Parse(xml);
// this doesn't work...
var qry = from element in bob.Descendants()
where element.Attribute("id").Value == "200"
select element;
if (qry.Count() > 0)
qry.First().Remove();
// ...but this does
bob.XPathSelectElement("//thing[@id = '200']").Remove();
Спасибо, Росс
Спасибо, я вижу, что проблема сейчас. –