XAttribute.Remove メソッド

定義

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

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

例外

親要素は null

次の例では、3 つの属性を持つ要素を作成します。 その後、属性の 1 つを削除します。

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 メソッドを使用することをお勧めします。 このメソッドは、属性をリストにコピーした後、リストを反復処理して属性を削除します。

適用対象

こちらもご覧ください