写入元素
WriteElementString、WriteStartElement 和 WriteNode 方法可以用于编写元素节点。
WriteElementString
WriteElementString 用于编写整个元素节点,包括字符串值。 下面的代码写出 <price>19.95</price> XML 字符串。
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>