XAttribute.Remove メソッド

定義

現在の属性を親要素から削除します。

public:
 void Remove();
public void Remove ();
member this.Remove : unit -> unit
Public Sub Remove ()

例外

親要素は null です。

次の例では、3 つの属性を持つ要素を作成します。 その後、いずれかの属性が削除されます。

XElement root = new XElement("Root",  
    new XAttribute("Att1", "content1"),  
    new XAttribute("Att2", "content2"),  
    new XAttribute("Att3", "content3")  
);  
XAttribute att = root.Attribute("Att2");  
att.Remove();  
Console.WriteLine(root);  
Dim root As XElement = <Root Att1="content1" Att2="content2" Att3="content3"/>  
Dim att As XAttribute = root.Attribute("Att2")  
att.Remove()  
Console.WriteLine(root)  

この例を実行すると、次の出力が生成されます。

<Root Att1="content1" Att3="content3" />  

注釈

このメソッドを使用して、XML ツリーを変更できます。 このメソッドを使用すると、イベントが発生します。

属性のセットを削除するシナリオは多数あります。 LINQ to XMLプログラミングでは、そのセット内のノードに対してクエリを実行している間は、一連のノードを操作または変更しないでください。 実際には、これは一連の属性を反復処理して削除しないことを意味します。 代わりに、拡張メソッドを List<T> 使用して具体化する ToList 必要があります。 その後、リストを反復処理し、属性を削除できます。 詳細については、「混合宣言型コード/命令型コードのバグ (LINQ to XML)」を参照してください。

または、一連の属性を削除する場合は、このメソッドを Extensions.Remove 使用することをお勧めします。 このメソッドは、属性をリストにコピーし、リストを反復処理して属性を削除します。

適用対象

こちらもご覧ください