XML обработка в паметта - XML език и програмна документация
- XMLдокумент. Класът XmlDocument имплементира пълното ядро на XML DOM ниво 2, както е дефинирано от W3C. Това е най-стандартизираният интерфейс към XML данни, но и малко тромав на моменти;
- XPathNavigator. Подобно на XmlDocument, класът XpathNavigator съхранява цял XML документ в паметта. Въпреки това, той предоставя малко по-бърз и по-ясен модел от XML DOM, заедно с разширени възможности за търсене. За разлика от XmlDocument, той не предоставя възможност за извършване на промени и запазването им;
- X документ. Класът XDocument предоставя още по-интуитивен и ефективен API за взаимодействие с XML. Технически е част от LINQ към XML, но също така е удобен, ако не създавате LINQ заявки. Въпреки това, поради своята новост, XDocument трябва да работи в съответствие с по-старите .NET XML класове, за да изпълнява задачи като валидиране. Някои класове, които съществуват от дълго време, като Xml Web контролата, която улеснява показването на XML на уеб страница, все още са базирани на XmlDocument и следователно не работят с XDocument.
XmlDocument също ви позволява да модифицирате съдържанието на възел (например, можете да промените свойствата XmlNode.Name и XmlNode.Value) и да правите по-фундаментални промени, като например премахване на възел от колекция чрез създаване на нов възел. Всъщност можете дори да конструирате пълен XML документ в паметта като екземпляр на XmlDocument и след това да го запишете. За да запазите текущото съдържание на XmlDocument, вие извиквате метода Save() или с име на файл с малки букви, или с готов поток.
Класът XpathNavigator (разположен в пространството на имената System.Xml.XPath) работи като класа XmlDocument. Той качва информация впамет, след което ви позволява да обхождате възлите. Основната разлика е, че използва подход, базиран на курсора, който ви позволява да използвате методи като MoveToNext() за преминаване през XML данните. XPathNavigator може да бъде позициониран само на един възел в даден момент. Обект XPathNavigator може да бъде създаден от XmlDocument с помощта на метода XmlDocument.CreateNavigator().
Класът XDocument е модел с общо предназначение за манипулиране на XML в паметта. За разлика от XmlDocument и XPathNavigator, той е много подходящ за конструиране на XML съдържание. (За сравнение, XmlDocument прави задачата за конструиране на XML ненужно сложна, докато XPathNavigator изобщо не го поддържа.) Ако трябва да генерирате XML по нелинеен начин, например, ако искате да напишете колекция от елементи в основен елемент и след това да добавите нова информация във всеки елемент, тогава клас в паметта като XDocument ще бъде полезен за това. Точно както обект XmlDocument е съставен от обекти XmlNode, XDocument е съставен от обекти XNode. XNode е абстрактен базов клас. Други, по-специализирани класове като XElement, XComment и XText всички наследяват от него. Една разлика е, че атрибутите не се третират като отделни възли в модела LINQ to XML. Вместо това те са просто двойки име-стойност, прикрепени към друг елемент. Поради тази причина класът XAttribute не наследява от XNode. Технически, класът XDocument е част от LINQ. Той се намира в пространството на имената System.Xml.Linq и е част от сборката System.Xml.Linq.dll, предоставена в
.NET 3.5. Трябва да препратите към този сборник, за да използвате XDocument и свързаните с него класове.