Я должен управлять существующим XML-документом и создать новый из него, удалив несколько узлов и атрибутов, и возможно добавив новые, какова была бы лучшая группа классов для выполнения этого?
Существует много классов.NET для управления XML, и я не уверен, каков был бы оптимальный способ сделать это.
Если это действительно огромный XML, который не помещается в памяти, вы должны использовать XmlReader / XmlWriter . Если нет LINQ to XML очень прост в использовании. Если у вас нет .NET 3.5, вы можете использовать XmlDocument .
Вот пример удаления узла:
using System.Xml.Linq;
using System.Xml.XPath;
var doc = XElement.Load("test.xml");
doc.XPathSelectElement("//customer").Remove();
doc.Save("test.xml");
Анализ документа с помощью таблиц стилей XML может быть самым простым вариантом, если это просто процесс преобразования.
Вот как использовать XSLT в .NET.
и
Сначала это немного смутило меня, но теперь я в значительной степени использую XSLT для всех своих преобразований XML.
Если у вас есть официальная схема, вы можете использовать XmlSerializer. В противном случае лучше использовать классы XmlDocument, XmlNode, XmlElement и т.д.
В противном случае это также может зависеть от того, для чего вы используете xml, т.е. для разметки какого-то документа, представления объектов и т.д.
Использовать Linq to XML Здесь вы можете увидеть класс XDocument