XmlAttributeCollection.SetNamedItem Method (XmlNode)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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.

Exception Condition

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");

Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Return to top