This documentation is archived and is not being maintained.

XmlAttributeCollection.SetNamedItem Method

Adds a XmlNode using its Name property

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

public override XmlNode SetNamedItem(
	XmlNode node


Type: System.Xml.XmlNode
An attribute node to store in this collection. The node will later be accessible using the name of the node. If a node with that name is already present in the collection, it is replaced by the new one; otherwise, the node is appended to the end of the collection.

Return Value

Type: System.Xml.XmlNode
If the node replaces an existing node with the same name, the old node is returned; otherwise, the added node is returned.


node was created from a different XmlDocument than the one that created this collection.

This XmlAttributeCollection is read-only.


node is an XmlAttribute that is already an attribute of another XmlElement object. To re-use attributes in other elements, you must clone the XmlAttribute objects you want to re-use.

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;

    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.