XElement.SetElementValue Method (XName, Object)


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

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

Public Sub SetElementValue (
	name As XName,
	value As Object


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.

Exception Condition

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.
Dim root As 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", Nothing)

This example produces the following output:


Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top