要素の書き込み

WriteElementStringWriteStartElement、および WriteNode メソッドは、要素ノードの書き込みに使用されます。

WriteElementString

WriteElementString メソッドは、文字列値も含め、要素ノード全体の書き込みに使用されます。 次のコードは、<price>19.95</price> という XML 文字列を書き出します。

writer.WriteElementString("price", "19.95")
writer.WriteElementString("price", "19.95");

WriteStartElement

WriteStartElement メソッドは、WriteElementString メソッドのより進んだバージョンです。 このメソッドでは、複数のメソッド呼び出しを使用して要素値を書くことができます。 たとえば、WriteValue を呼び出して、型指定された値を書き込んだり、WriteCharEntity を呼び出して文字エンティティを書き込んだり、WriteAttributeString を呼び出して 1 つの属性を書き込んだり、子要素を書き込んだりすることができます。

要素は WriteEndElement メソッドまたは WriteFullEndElement メソッドを呼ぶことで閉じることができます。

次の例は、2 つのネストされた要素を書きます。

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 オブジェクトの現在の位置で見つかる 1 つの要素ノード全体をコピーします。 呼び出されると、ソース オブジェクトからすべてを 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>

参照

その他の技術情報

XmlWriter による XML の書き方