XAttribute.Remove 方法

定义

从其父元素中删除此属性。

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

例外

父元素为 null.

示例

以下示例创建一个具有三个属性的元素。 然后,它会删除其中一个属性。

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 扩展方法。 然后,可以循环访问列表,删除属性。 有关详细信息,请参阅混合声明性代码/命令性代码 Bug(LINQ to XML)。

或者,如果要删除一组属性,建议使用 Extensions.Remove 该方法。 此方法将属性复制到列表,然后循环访问列表,删除属性。

适用于

另请参阅