C# для профессионалов. Том II | страница 12
>TimeSpan
, необходимо будет задать это свойство для типов данных XSD.Приведем простой пример, чтобы увидеть, как может использоваться класс >TextWriter
(пример находится в папке >XMLWriterSample1
):
>private void button1_Click(object sender, System.EventArgs e) {
> // измените в соответствии с используемой структурой путей доступа
> string fileName="..\\..\\..\\booknew.xml";
> //создайте XmlTextWriter
> XmlTextWriter tw=new XmlTextWriter(fileName, null);
> // задайте форматирование с отступом
> tw.Formatting=Formatting.Indented;
> tw.WriteStartDocument();
> //Начать создание элементов и атрибутов
> tw.WriteStartElement("book");
> tw.WriteAttributeString("genre", "Mystery");
> tw.WriteAttributeString("publicationdate", "2001");
> tw.WriteAttributeString("ISBN", "123456789");
> tw.WriteElementString("title", "Case of the Missing Cookie");
> tw.WriteStartElement("author");
> tw.WriteElementString("name", "Cookie Monster");
> tw.WriteEndElement();
> tw.WriteElementString("price", "9.99");
> tw.WriteEndElement();
> tw.WriteEndDocument();
> // очистить
> tw.Flush();
> tw.Close();
>}
Создадим новый файл >booknew.xml
и добавим новую книгу. Объект >XmlTextWriter
заменит существующий файл. Вставку нового элемента или узла в существующий документ рассмотрим позже. Экземпляр объекта >XmlTextWriter
создается с помощью объекта >FileStream
в качестве параметра. Можно также передать строку с именем файла и путем доступа или объект на основе >TextWriter
. При задании свойства >Indenting
узлы-потомки будут автоматически делать отступ от предка. Метод >WriteStartDocument()
помещает объявление документа. Начинаем запись данных. Сначала идет элемент >book
. Затем добавляем атрибуты >genre
, >publicationdate
и >ISBN
. После чего записываем элементы >title
, >author
, и price. Отметим, что элемент >author
имеет элемент-потомок >name
.
После нажатия на кнопку будет создан следующий файл >booknew.xml
:
>
>
>
>
>
>
>
>
Так же как в документе XML, здесь имеются начальный метод и конечный метод (>WriteStartElement
и >WriteEndElement
). Вложенность контролируется отслеживанием начала и окончания записи элементов и атрибутов. Это можно видеть при добавлении элемента потомка