This documentation is archived and is not being maintained.

XStreamingElement.Add Method (Object[])

Adds the specified content as children to this XStreamingElement.

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

public void Add(
	params Object[] content


Type: System.Object[]
Content to be added to the streaming element.

This constructor adds the specified content and attributes to the XStreamingElement. While it is often possible to construct the XStreamingElement in a single statement, it is sometimes more convenient to add content to the streaming element incrementally.

Queries are not iterated until the XStreamingElement is serialized. This is in contrast to using queries for content for an XElement, where queries are iterated at the time of construction of the new XElement.

For details about the valid content that can be passed to this function, see Valid Content of XElement and XDocument Objects.

The following example creates a new XStreamingElement. It then adds two queries to the streaming element. The queries are not iterated until the streaming element is serialized.

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 <= 1
    select new XElement("Child", (int)el)

    from el in srcTree.Elements()
    where (int)el >= 3
    select new XElement("DifferentChild", (int)el)


This example produces the following output:


.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.