Запись элементов
Методы WriteElementString, WriteStartElement и WriteNode можно использовать для записи узлов элементов.
WriteElementString
Метод WriteElementString используется для записи всего узла элементов, в том числе строкового значения. Следующий код записывает XML-строку <price>19.95</price>.
writer.WriteElementString("price", "19.95")
writer.WriteElementString("price", "19.95");
WriteStartElement
Метод WriteStartElement представляет собой расширенный вариант метода WriteElementString. Он позволяет записать значение элемента с помощью нескольких вызовов методов. Например, можно вызвать метод WriteValue для записи типизированного значения, метод WriteCharEntity для записи сущности-символа, метод WriteAttributeString для записи атрибута или можно записать дочерний элемент.
Элемент закрывается путем вызова метода WriteEndElement или WriteFullEndElement.
В следующем примере записывается два вложенных элемента.
writer.WriteStartElement("bk", "book", "urn:books")
writer.WriteAttributeString("genre", "urn:books", "mystery")
writer.WriteElementString("price", "19.95")
writer.WriteEndElement()
writer.WriteStartElement("bk", "book", "urn:books");
writer.WriteAttributeString("genre", "urn:books", "mystery");
writer.WriteElementString("price", "19.95");
writer.WriteEndElement();
Записан следующий узел XML.
<bk:book bk:genre="mystery" xmlns:bk="urn:books">
<price>19.95</price>
</bk:book>
WriteNode
Метод WriteNode позволяет скопировать весь узел элементов, обнаруженный в текущей позиции объекта XmlReader или XPathNavigator. При вызове выполняется копирование всего, от исходного объекта до экземпляра XmlWriter.
' Create a reader and position it on the book node.
Dim reader As XmlReader = XmlReader.Create("books.xml")
reader.ReadToFollowing("book")
' Write out the book node.
Dim writer As XmlWriter = XmlWriter.Create("newBook.xml")
writer.WriteNode(reader, True)
writer.Flush()
// Create a reader and position it on the book node.
XmlReader reader = XmlReader.Create("books.xml");
reader.ReadToFollowing("book");
// Write out the book node.
XmlWriter writer = XmlWriter.Create("newBook.xml");
writer.WriteNode(reader, true);
writer.Flush();
Создается следующий XML-файл.
<?xml version="1.0" encoding="utf-8"?>
<book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>