У меня есть XML, который содержит HTML-теги. Используя XDocument
, я могу найти узел и заменить содержимое, чтобы удалить теги HTML. Есть ли способ идентифицировать узел с помощью тега HTML, чтобы такая же замена могла быть сделана на ВСЕХ узлах? Вот пример XML.
<?xml version="1.0" encoding="utf-8"?>
<myFields>
<Request_Description>
<html>
<div>test</div>
</html>
</Request_Description>
<Alternatives>
<html>
<div>n/a</div>
</html>
</Alternatives>
<Outcome>
<html>
<div>n/a</div>
</html>
</Outcome>
</myFields>
А вот как я понял, как заменить HTML для одного узла по имени.
XElement req_desc = newxdoc.Root.Element("Request_Description");
if (req_desc != null)
{
XElement replacenode = new XElement(req_desc.Name, req_desc.Value);
req_desc.Parent.Add(replacenode);
req_desc.Remove();
}
Я мог бы сделать то же самое для "Альтернатив" и "Результатов". Но каждый из этих узлов должен быть идентифицирован тем, что их следующий дочерний элемент имеет локальное имя «html». Как я могу найти те элементы, чей первый дочерний элемент имеет локальное имя "html", а затем выполнить шаги замены, которые я делаю выше, чтобы удалить этот HTML-код?