요소 작성
업데이트: November 2007
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>