Я пытаюсь удалить узел CreditCard
в XDocument
под названием doc
на основании его атрибута name
, но он не работает должным образом.вопрос об удалении узла XDocument на основе его атрибута
doc
мой XDocument
и это выглядит следующим образом:
XDocument doc = new XDocument(
new XComment("XML test file"),
new XElement("CreditCards",
new XElement("CreditCard",
new XAttribute("Name", "TestCard1"),
new XAttribute("phoneNumber", 121212142121)),
new XElement("CreditCard",
new XAttribute("Name", "TestCard2"),
new XAttribute("phoneNumber", 6541465561)),
new XElement("CreditCard",
new XAttribute("Name", "TestCard3"),
new XAttribute("phoneNumber", 445588))
)
);
Это запрос, я пытаюсь работать, но он не удаляет узел. name
это строка, я перехожу к этой функции в качестве ссылки, чтобы сказать ему, что удалить
var q = from node in doc.Descendants("CreditCards")
let attr = node.Attribute("name")
where attr != null && attr.Value == name
select node;
q.ToList().ForEach(x => x.Remove());
Я не получаю никаких ошибок с этим, но ничего не удаляется либо.
мой плохой XDocument неправильно я редактировал его, чтобы представить, что им работать с компанией. это была старая версия. Я заменил элементы в CreditCard атрибутами –
Его работа я только что изменил Element to Attribute и ваш ответ работает. благодаря –