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) 的 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 ,則會刪除具有指定名稱的屬性。

如需詳細資訊,請參閱 維護名稱/值組

適用於

另請參閱