XContainer.AddFirst Method

Definition

Adds the specified content as the first children of this document or element.

Overloads

AddFirst(Object)

Adds the specified content as the first children of this document or element.

AddFirst(Object[])

Adds the specified content as the first children of this document or element.

Examples

The following example creates two XML trees, and then uses this method to add the results of a query to one of them.

XElement srcTree = new XElement("Root",  
    new XElement("Element1", 1),  
    new XElement("Element2", 2),  
    new XElement("Element3", 3),  
    new XElement("Element4", 4),  
    new XElement("Element5", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("NewElement", "Content")  
);  
xmlTree.AddFirst(  
    from el in srcTree.Elements()  
    where (int)el >= 3  
    select el  
);  
Console.WriteLine(xmlTree);  
Dim srcTree As XElement = _   
        <Root>  
            <Element1>1</Element1>  
            <Element2>2</Element2>  
            <Element3>3</Element3>  
            <Element4>4</Element4>  
            <Element5>5</Element5>  
        </Root>  
Dim xmlTree As XElement = <Root>  
                              <NewElement>Content</NewElement>  
                          </Root>  
xmlTree.AddFirst( _  
    From el In srcTree.Elements _  
    Where CInt(el) >= 3 _  
    Select el)  
Console.WriteLine(xmlTree)  

This example produces the following output:

<Root>  
  <Element3>3</Element3>  
  <Element4>4</Element4>  
  <Element5>5</Element5>  
  <NewElement>Content</NewElement>  
</Root>  

Remarks

This method adds the new content before the existing content of the XContainer.

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

This method will raise the Changed and the Changing events.

AddFirst(Object)

Adds the specified content as the first children of this document or element.

public:
 void AddFirst(System::Object ^ content);
public void AddFirst (object content);
public void AddFirst (object? content);
member this.AddFirst : obj -> unit
Public Sub AddFirst (content As Object)

Parameters

content
Object

A content object containing simple content or a collection of content objects to be added.

Examples

The following example creates two XML trees, uses this method to add an XElement object as the first element to one of them. It also adds the results of a LINQ query to the XML tree.

XElement srcTree = new XElement("Root",  
    new XElement("Element1", 1),  
    new XElement("Element2", 2),  
    new XElement("Element3", 3),  
    new XElement("Element4", 4),  
    new XElement("Element5", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5)  
);  
xmlTree.AddFirst(new XElement("NewChild", "new content"));  
xmlTree.AddFirst(  
    from el in srcTree.Elements()  
    where (int)el > 3  
    select el  
);  
// Even though Child9 does not exist in srcTree, the following statement will not  
// throw an exception, and nothing will be added to xmlTree  
xmlTree.AddFirst(srcTree.Element("Child9"));  
Console.WriteLine(xmlTree);  
Dim srcTree As XElement = _   
        <Root>  
            <Element1>1</Element1>  
            <Element2>2</Element2>  
            <Element3>3</Element3>  
            <Element4>4</Element4>  
            <Element5>5</Element5>  
        </Root>  

Dim xmlTree As XElement = _   
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
        </Root>  

xmlTree.AddFirst(New XElement("NewChild", "new content"))  
xmlTree.AddFirst( _  
    From el In srcTree.Elements() _  
    Where CInt(el) > 3 _  
    Select el _  
)  
' Even though Child9 does not exist in srcTree, the following statement will not  
' throw an exception, and nothing will be added to xmlTree  
xmlTree.AddFirst(srcTree.<Child9>)  
Console.WriteLine(xmlTree)  

This example produces the following output:

<Root>  
  <Element4>4</Element4>  
  <Element5>5</Element5>  
  <NewChild>new content</NewChild>  
  <Child1>1</Child1>  
  <Child2>2</Child2>  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
</Root>  

Remarks

This method adds the new content before the existing content of the XContainer.

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

This method will raise the Changed and the Changing events.

See also

Applies to

AddFirst(Object[])

Adds the specified content as the first children of this document or element.

public:
 void AddFirst(... cli::array <System::Object ^> ^ content);
public void AddFirst (params object[] content);
public void AddFirst (params object?[] content);
member this.AddFirst : obj[] -> unit
Public Sub AddFirst (ParamArray content As Object())

Parameters

content
Object[]

A parameter list of content objects.

Exceptions

The parent is null.

Examples

The following example creates two XML trees, and uses this method to add an XElement object as the first element to one of them. It also adds the results of a LINQ query to the XML tree.

XElement srcTree = new XElement("Root",  
    new XElement("Element1", 1),  
    new XElement("Element2", 2),  
    new XElement("Element3", 3),  
    new XElement("Element4", 4),  
    new XElement("Element5", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5)  
);  
xmlTree.AddFirst(new XElement("NewChild", "new content"));  
xmlTree.AddFirst(  
    from el in srcTree.Elements()  
    where (int)el > 3  
    select el  
);  
// Even though Child9 does not exist in srcTree, the following statement will not  
// throw an exception, and nothing will be added to xmlTree.  
xmlTree.AddFirst(srcTree.Element("Child9"));  
Console.WriteLine(xmlTree);  
Dim srcTree As XElement = _   
        <Root>  
            <Element1>1</Element1>  
            <Element2>2</Element2>  
            <Element3>3</Element3>  
            <Element4>4</Element4>  
            <Element5>5</Element5>  
        </Root>  

Dim xmlTree As XElement = _   
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
        </Root>  

xmlTree.AddFirst(New XElement("NewChild", "new content"))  
xmlTree.AddFirst( _  
    From el In srcTree.Elements() _  
    Where CInt(el) > 3 _  
    Select el _  
)  
' Even though Child9 does not exist in srcTree, the following statement will not  
' throw an exception, and nothing will be added to xmlTree.  
xmlTree.AddFirst(srcTree.<Child9>)  
Console.WriteLine(xmlTree)  

This example produces the following output:

<Root>  
  <Element4>4</Element4>  
  <Element5>5</Element5>  
  <NewChild>new content</NewChild>  
  <Child1>1</Child1>  
  <Child2>2</Child2>  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
</Root>  

Remarks

This method adds the new content before the existing content of the XContainer.

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

This method will raise the Changed and the Changing events.

See also

Applies to