This documentation is archived and is not being maintained.

XmlAttributeCollection.InsertBefore Method

Inserts the specified attribute immediately before the specified reference attribute.

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

public XmlAttribute InsertBefore(
	XmlAttribute newNode,
	XmlAttribute refNode


Type: System.Xml.XmlAttribute
The XmlAttribute to insert.
Type: System.Xml.XmlAttribute
The XmlAttribute that is the reference attribute. newNode is placed before the refNode.

Return Value

Type: System.Xml.XmlAttribute
The XmlAttribute to insert into the collection.


The newNode was created from a document different from the one that created this collection. Or the refNode is not a member of this collection.

If an attribute with the same name is already present in the collection, the original attribute is removed from the collection and newNode is inserted into the collection. If refNode is null, newNode is inserted at the end of the collection.

This method is a Microsoft extension to the Document Object Model (DOM).

The following example adds a new attribute to a document.

using System;
using System.IO;
using System.Xml;

public class Sample
  public static void Main(){

    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<book ISBN='1-861001-57-5'>" +
                "<title>Pride And Prejudice</title>" +

    //Create a new attribute.
    XmlAttribute newAttr = doc.CreateAttribute("genre");
    newAttr.Value = "novel";

    //Create an attribute collection and add the new attribute
    //to the collection.
    XmlAttributeCollection attrColl = doc.DocumentElement.Attributes;
    attrColl.InsertBefore(newAttr, attrColl[0]);

    Console.WriteLine("Display the modified XML...\r\n");

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, 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.