XElement.SetElementValue(XName, Object) Method

Definition

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

public:
 void SetElementValue(System::Xml::Linq::XName ^ name, System::Object ^ value);
public void SetElementValue (System.Xml.Linq.XName name, object value);
public void SetElementValue (System.Xml.Linq.XName name, object? value);
member this.SetElementValue : System.Xml.Linq.XName * obj -> unit
Public Sub SetElementValue (name As XName, value As Object)

Parameters

name
XName

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

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

Exceptions

The value is an instance of XObject.

Examples

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);
Console.WriteLine(root);

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

// Remove one of the name/value pairs.
root.SetElementValue("Ele3", null);
Console.WriteLine(root);
' 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)
Console.WriteLine(root)

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

' Remove one of the name/value pairs.
root.SetElementValue("Ele3", Nothing)
Console.WriteLine(root)

This example produces the following output:

<Root>
  <Ele1>1</Ele1>
  <Ele2>2</Ele2>
  <Ele3>3</Ele3>
</Root>
<Root>
  <Ele1>1</Ele1>
  <Ele2>22</Ele2>
  <Ele3>3</Ele3>
</Root>
<Root>
  <Ele1>1</Ele1>
  <Ele2>22</Ele2>
</Root>

Remarks

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 Maintain name-value pairs.

Applies to

See also