Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VSRPP.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
181.63 Кб
Скачать

Простейший xml-документ

Простейший XML-документ состоит из двух частей: пролога и корневого элемента. Пролог содержит объявление XML, указывающее на то, что это XML-документ, и содержит номер версии XML. Пролог может также содержать необязательные компоненты:

  • Объявление типа документа.

  • Одну или несколько инструкций по обработке.

XML-документ может содержать комментарии, начинающиеся с символов "<!--" и заканчивающиеся символами "-->". Комментарий может содержать любой текст, за исключением символов "--". Тексты комментариев доступны для написанного внутри HTML-страницы кода сценария.

30. Создание, сохранение, загрузка xml Создание, сохранение, загрузка xml

Для создания отдельного XML-элемента обычно используется один из конструкторов класса XElement:

public XElement(XElement other);

public XElement(XName name);

public XElement(XStreamingElement other);

public XElement(XName name, object content);

public XElement(XName name, params object[] content);

Обсудим использование четвёртой версии, которая позволяет указать имя элемента и его содержимое. Заметим, что существует неявное преобразование строки в XName. Интерпретация аргумента content производится по табл. 14.

Тип или значение content

Способ обработки

string

Преобразуется в дочерний объект типа XText и добавляется как текстовое содержимое элемента

XText

Добавляет как дочерний объект ‑ текстовое содержимое элемента

XElement

Добавляется как дочерний элемент

XAttribute

Добавляется как атрибут элемента

XProcessingInstruction, XComment

Добавляется как дочернее содержимое4

IEnumerable

Объект перечисляется и обрабатывается рекурсивно. Коллекция строк добавляется в виде единого текста

null

Этот объект игнорируется

Любой прочий тип

Вызывается метод ToString(), и результат трактуется как string

Для сохранения элемента или XML-документа используется метод Save(), имеющийся у XElement и XDocument. Данный метод перегружен и позволяет выполнить запись в текстовый файл или с применением адаптеров TextWriter и XmlWriter. Кроме этого, можно указать опции сохранения (например, отключить автоматическое формирование отступов элементов).

doc.Save("planets.xml", SaveOptions.None);

Загрузка элемента или XML-документа XML выполняется статическими методами XElement.Load() или XDocument.Load(). Метод Load() перегружен и позволяет выполнить загрузку из файла, произвольного URI, а также с применением адаптеров TextReader и XmlReader. Можно задать опции загрузки (например, связать с элементами XML номер строки в исходном тексте).

var d1 = XDocument.Load("planets.xml", LoadOptions.SetLineInfo);

var d2 = XElement.Load("http://habrahabr.ru/rss/main");

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]