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