XmlAttributeCollection.InsertBefore(XmlAttribute, XmlAttribute) Method

Definition

Inserts the specified attribute immediately before the specified reference attribute.

public System.Xml.XmlAttribute InsertBefore (System.Xml.XmlAttribute newNode, System.Xml.XmlAttribute refNode);
public System.Xml.XmlAttribute InsertBefore (System.Xml.XmlAttribute newNode, System.Xml.XmlAttribute? refNode);
public virtual System.Xml.XmlAttribute InsertBefore (System.Xml.XmlAttribute newNode, System.Xml.XmlAttribute refNode);

Parameters

newNode
XmlAttribute

The attribute to insert.

refNode
XmlAttribute

The reference attribute. newNode is placed before the refNode.

Returns

The XmlAttribute to insert into the collection.

Exceptions

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.

Examples

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>" +
                "</book>");

    //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");
    Console.WriteLine(doc.OuterXml);
  }
}

Remarks

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).

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0