Schreiben von Elementen
Die Methoden WriteElementString, WriteStartElement und WriteNode können zum Schreiben von Elementknoten verwendet werden.
WriteElementString
Der WriteElementString wird zum Verfassen eines vollständigen Attributknotens einschließlich eines Zeichenfolgenwerts verwendet. Der folgende Code schreibt die XML-Zeichenfolge <price>19.95</price>.
writer.WriteElementString("price", "19.95")
writer.WriteElementString("price", "19.95");
WriteStartElement
Die WriteStartElement-Methode ist eine erweiterte Version der WriteElementString-Methode. Sie ermöglicht das Schreiben des Attributwerts mithilfe mehrerer Methodenaufrufe. Beispielsweise können Sie WriteValue aufrufen, um einen typisierten Wert zu schreiben, WriteCharEntity, um eine Zeichenentität zu schreiben, WriteAttributeString, um ein Attribut zu schreiben, oder Sie können ein untergeordnetes Element schreiben.
Das Element wird durch Aufrufen der WriteEndElement-Methode oder der WriteFullEndElement-Methode geschlossen.
Im folgenden Beispiel werden zwei geschachtelte Elemente geschrieben.
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();
Der folgende XML-Knoten wird geschrieben.
<bk:book bk:genre="mystery" xmlns:bk="urn:books">
<price>19.95</price>
</bk:book>
WriteNode
Mit der WriteNode-Methode können Sie einen gesamten Elementknoten an der aktuellen Position des angegebenen XmlReader-Objekts oder XPathNavigator-Objekts kopieren. Beim einem Aufruf werden alle Daten aus dem Quellobjekt in die XmlWriter-Instanz kopiert.
' 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();
Die folgende XML-Datei wird geschrieben.
<?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>