XElement.SetAttributeValue(XName, Object) 方法

定义

设置属性的值、添加属性或移除属性。

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

参数

name
XName

一个 XName,其中包含要更改的属性的名称。

value
Object

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

例外

valueXObject 的一个实例。

示例

以下示例创建具有 特性的 元素。 然后,它使用此方法替换属性的内容。

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

// Add some name/value pairs.
root.SetAttributeValue("Att1", 1);
root.SetAttributeValue("Att2", 2);
root.SetAttributeValue("Att3", 3);
Console.WriteLine(root);

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

// Remove one of the name/value pairs.
root.SetAttributeValue("Att3", null);
Console.WriteLine(root);
' Create an element with no content.
Dim root As XElement = <Root/>

' Add some name/value pairs.
root.SetAttributeValue("Att1", 1)
root.SetAttributeValue("Att2", 2)
root.SetAttributeValue("Att3", 3)
Console.WriteLine(root)

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

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

该示例产生下面的输出:

<Root Att1="1" Att2="2" Att3="3" />
<Root Att1="1" Att2="22" Att3="3" />
<Root Att1="1" Att2="22" />

注解

此方法旨在方便将名称/值对列表作为一组属性进行维护。 维护列表时,需要添加对、修改对或删除对。 如果调用此方法时传递的名称不作为属性存在,则此方法将为你创建一个属性。 如果调用此方法传递现有属性的名称,此方法会将特性的值修改为指定的值。 如果为 value传递 null ,则此方法将删除 特性。

此方法将引发 ChangedChanging 事件。

该值分配给具有指定名称的属性。 如果不存在具有指定名称的属性,则会添加新属性。 如果值为 null,则删除具有指定名称的属性(如果有)。

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

适用于

另请参阅