XStreamingElement.WriteTo(XmlWriter) Method

Definition

Writes this streaming element to an XmlWriter.

public:
 void WriteTo(System::Xml::XmlWriter ^ writer);
public void WriteTo (System.Xml.XmlWriter writer);
member this.WriteTo : System.Xml.XmlWriter -> unit
Public Sub WriteTo (writer As XmlWriter)

Parameters

writer
XmlWriter

An XmlWriter into which this method will write.

Examples

The following example creates an XML tree using XStreamingElement. It then writes the streaming element to an XmlWriter.

XElement srcTree = new XElement("Root",
                       new XElement("Child", 1),
                       new XElement("Child", 2),
                       new XElement("Child", 3),
                       new XElement("Child", 4),
                       new XElement("Child", 5)
                   );

XStreamingElement dstTree = new XStreamingElement("NewRoot",
                        from el in srcTree.Elements()
                        where (int)el == 3
                        select new XElement("DifferentChild", (int)el)
                    );

StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
xws.Indent = true;

using (XmlWriter xw = XmlWriter.Create(sb, xws))
{
    dstTree.WriteTo(xw);
}
Console.WriteLine(sb.ToString());
Dim srcTree As XElement = _
    <Root>
        <Child>1</Child>
        <Child>2</Child>
        <Child>3</Child>
        <Child>4</Child>
        <Child>5</Child>
    </Root>

Dim dstTree As XStreamingElement = _
    New XStreamingElement("NewRoot", _
        From el In srcTree.Elements() _
        Where el.Value = 3 _
        Select <DifferentChild><%= el.Value %></DifferentChild> )

Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True
xws.Indent = True

Using xw As XmlWriter = XmlWriter.Create(sb, xws)
    dstTree.WriteTo(xw)
End Using
Console.WriteLine(sb.ToString())

This example produces the following output:

<NewRoot>
  <DifferentChild>3</DifferentChild>
</NewRoot>

Applies to

See also