C# для профессионалов. Том II | страница 13
>authors
. Отметим, как организуются вызовы методов >WriteStartElement
и >WriteEndElement
и как это связывается с выведенным документом XML.В дополнение к >WriteElementString
и >WriteAtributeString
имеется несколько других специализированных методов записи. Метод >WriteCDate
будет выводить раздел >CDate ()
, взяв текст для записи из параметра. WriteComment записывает комментарий в подходящем формате XML. WriteChars записывает содержимое символьного буфера. Это работает аналогично методу >ReadChars
, который был рассмотрен ранее. Оба они используют один и тот же тип параметров. Методу >WriteChar
нужен буфер (массив символов), начальная позиция для записи (целое значение) и число символов для записи (целое значение).
Чтение и запись XML с помощью классов, основанных на >XMLReader
и XMLWriter, осуществляются очень просто. Далее мы рассмотрим реализацию DOM пространства имен >System.Xml
. Это классы на основе >XmlDocument
и >XmlNode
.
Объектная модель документа в .NET
Реализация объектной модели документа (DOM, Document Object Model) в .NET поддерживает спецификации W3C DOM Level 1 и Core DOM Level 2. DOM реализуется с помощью класса >XmlNode
. >XmlNode
является абстрактным классом, который представляет узел документа XML. >XmlNodeList
является упорядоченным списком узлов. Это живой список узлов, и любые изменения в любом узле немедленно отражаются в списке. >XmlNodeList
поддерживает индексный доступ или итеративный доступ. Эти два класса составляют основу реализации DOM на платформе .NET. Вот список классов, которые основываются на >XmlNode
.
Имя класса | Описание |
---|---|
>XmlLinkedNode | Расширяет >XmlNode . Возвращает узел непосредственно перед или после текущего узла. Добавляет свойства >NextSibling и >PreviousSibling в >XmlNode . |
>XmlDocument | Расширяет >XmlNode . Представляет весь документ. Реализует спецификации DOM Level 1 и Level 2. |
>XmlAttribute | Расширяет >XmlNode . Объект атрибута объекта >XmlElement . |
>XmlCDataSection | Расширяет >XmlCharacterData . Объект, который представляет раздел документа >CData . |
>XmlCharacterData | Абстрактный класс, который предоставляет методы манипуляции с текстом для других классов. Расширяет >XmlLinkedNode . |
>XmlComment | Расширяет >XmlCharacterData . Представляет объект комментария XML. |
>XmlDeclaration | Расширяет >XmlLinkedNode . Представляет узел объявления (> ) |
>XmlDocumentFragment | Расширяет >XmlNode . Представляет фрагмент дерева документа. |
>XmlDocumentType | Расширяет >XmlLinkedNode |