XNode.Remove 方法

定義

將這個節點從其父代 (Parent) 移除。

public void Remove ();

例外狀況

該父代為 null

範例

下列範例會從其父系中移除節點。

XElement xmlTree = new XElement("Root",  
    new XElement("Child1", "child1 content"),  
    new XElement("Child2", "child2 content"),  
    new XElement("Child3", "child3 content"),  
    new XElement("Child4", "child4 content"),  
    new XElement("Child5", "child5 content")  
);  
XElement child3 = xmlTree.Element("Child3");  
child3.Remove();  
Console.WriteLine(xmlTree);  

這個範例會產生下列輸出:

<Root>  
  <Child1>child1 content</Child1>  
  <Child2>child2 content</Child2>  
  <Child4>child4 content</Child4>  
  <Child5>child5 content</Child5>  
</Root>  

備註

在LINQ to XML程式設計中,當您查詢該集合中的節點時,您不應該操作或修改一組節點。 實際上,這表示您不應該逐一查看一組節點並加以移除。 相反地,您應該使用 ToList 擴充方法將其具體化為 List<T> 。 然後,您可以逐一查看清單來移除節點。 如需詳細資訊,請參閱混合宣告式程式碼/命令式程式碼 Bug (LINQ to XML)

或者,如果您想要移除一組節點,建議您使用 Extensions.Remove 方法。 此方法會將節點複製到清單,然後逐一查看清單以移除節點。

這個方法會引發 ChangedChanging 事件。

會將 XContainer 其子節點儲存為物件的單一連結清單 XNode 。 這表示 Remove 方法必須周遊父容器底下的直接子節點清單。 因此,使用此方法可能會影響您的效能。

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

另請參閱