XElement.SetElementValue(XName, Object) 方法

定义

设置子元素的值、添加子元素或移除子元素。

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)

参数

name
XName

一个 XName,其中包含要更改的子元素的名称。

value
Object

要分配给子元素的值。 如果值为 null,则移除子元素。 否则,会将值转换为其字符串表示形式,并将该值分配给子元素的 Value 属性。

例外

valueXObject 的一个实例。

示例

以下示例使用子元素创建元素。 然后,它使用此方法设置子元素的值。

// 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)

该示例产生下面的输出:

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

注解

此方法旨在轻松维护名称/值对列表作为一组子元素。 维护列表时,需要添加对、修改对或删除对。 如果调用此方法传递的名称不作为子元素存在,此方法将为你创建一个子元素。 如果调用此方法传递现有子元素的名称,此方法会将子元素的值修改为指定的值。 如果为 传递 nullvalue,此方法将删除子元素。

此方法将引发事件。

该值分配给具有指定名称的第一个子元素。 如果不存在具有指定名称的子元素,则会添加新的子元素。 如果值为 null,则删除具有指定名称的第一个子元素(如果有)。

此方法不会向指定的子元素添加子节点或属性。 如果将派生自 XObject 的任何对象作为 传递 value,此方法将引发异常。

有关详细信息,请参阅 维护名称/值对

适用于

另请参阅