Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
SetElementValue Method

XElement.SetElementValue Method

Sets the value of a child element, adds a child element, or removes a child element.

Namespace:  System.Xml.Linq
Assemblies:   System.Xml.Linq (in System.Xml.Linq.dll)
  System.Xml.XDocument (in System.Xml.XDocument.dll)

public void SetElementValue(
	XName name,
	Object value


Type: System.Xml.Linq.XName

An XName that contains the name of the child element to change.

Type: System.Object

The value to assign to the child element. The child element is removed if the value is null. Otherwise, the value is converted to its string representation and assigned to the Value property of the child element.


The value is an instance of XObject.

This method is designed to make it easy to maintain a list of name/value pairs as a set of children elements. When maintaining the list, you need to add pairs, modify pairs, or delete pairs. If you call this method passing a name that does not exist as a child element, this method creates a child element for you. If you call this method passing the name of an existing child element, this method modifies the value of the child element to the value that you specify. If you pass null for value, this method removes the child element.

This method will raise events.

The value is assigned to the first child element with the specified name. If no child element with the specified name exists, a new child element is added. If the value is null, the first child element with the specified name, if any, is deleted.

This method does not add child nodes or attributes to the specified child element. This method throws an exception if any object that derives from XObject is passed as value.

For more information, see Maintaining Name/Value Pairs.

The following example creates an element with a child element. It then uses this method to set the value of the child element.

// Create an element with no content
XElement root = new XElement("Root");

// Add some name/value pairs.
root.SetElementValue("Ele1", 1);
root.SetElementValue("Ele2", 2);
root.SetElementValue("Ele3", 3);

// Modify one of the name/value pairs.
root.SetElementValue("Ele2", 22);

// Remove one of the name/value pairs.
root.SetElementValue("Ele3", null);

This example produces the following output:


.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
© 2015 Microsoft