XAttribute.Remove メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の属性を親要素から削除します。
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 使用することをお勧めします。 このメソッドは、属性をリストにコピーし、リストを反復処理して属性を削除します。