Создание модуля записи XML
Экземпляры класса XmlWriter создаются с помощью статического метода XmlWriter.Create.
Экземпляры XmlWriter создаются с помощью метода Create. Класс XmlWriterSettings используется для задания набора функций, которые необходимо включить в новый объект XmlWriter.
Важно |
---|
Хотя платформа Microsoft .NET Framework содержит класс XmlTextWriter, являющийся конкретной реализацией класса XmlWriter в версии 2.0 платформы .NET Framework, рекомендуется создавать экземпляры XmlWriter с помощью метода Create. |
Функции включаются и выключаются с помощью свойств класса XmlWriterSettings. Передавая объект XmlWriterSettings в метод Create можно указать, какие функции модуля записи поддерживаются. Использование метода Create и класса XmlWriterSettings дает следующие преимущества:
Можно указать, какие возможности нужно поддерживать в создаваемом объекте XmlWriter.
Объект XmlWriterSettings можно повторно использовать для создания нескольких модулей записи. Объект XmlWriterSettings копируется и помечается признаком «только для чтения» для каждого созданного модуля записи. Изменения в настройках экземпляра XmlWriterSettings не влияют на существующие модули записи с такими же настройками. Таким образом, можно создать несколько модулей записи с одинаковой функциональностью, используя одинаковые настройки. Или можно изменить экземпляр XmlWriterSettings и создать новый модуль записи с другим набором функций.
Можно добавить функции к существующему модулю записи. Метод Create может принимать другой объект XmlWriter. Базовый объект XmlWriter не обязательно должен являться модулем записи, созданным с помощью статического метода Create. Например, можно указать пользовательский модуль записи или объект XmlTextWriter, к которому необходимо добавить дополнительные функции.
Используйте в полной мере новые функции, добавленные в класс XmlWriter в этой версии. Существуют определенные функции, такие как улучшенная проверка на согласованность или соответствие стандарту XML 1.0, которые доступны только для объектов XmlWriter, созданных статическим методом Create.
Если объект XmlWriterSettings в метод Create не передается, то используются настройки модуля записи по умолчанию. В следующей таблице перечислены настройки по умолчанию класса XmlWriterSettings.
Свойство |
Начальное значение |
---|---|
true |
|
false |
|
ConformanceLevel.Document |
|
Encoding.UTF8 |
|
false |
|
Два пробела |
|
\r\n (возврат каретки, новая строка) |
|
NewHandling.Replace |
|
false |
|
false |
Пример
В следующем примере создается объект XmlWriter, который выводит данные в XML-файл.
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = " "
Using writer As XmlWriter = XmlWriter.Create("books.xml", settings)
' Write XML data.
writer.WriteStartElement("book")
writer.WriteElementString("price", "19.95")
writer.WriteEndElement()
writer.Flush()
End Using
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = (" ");
using (XmlWriter writer = XmlWriter.Create("books.xml", settings))
{
// Write XML data.
writer.WriteStartElement("book");
writer.WriteElementString("price", "19.95");
writer.WriteEndElement();
writer.Flush();
}