XNode.Remove 方法

定義

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

C#
public void Remove();

例外狀況

該父代為 null

範例

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

C#
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);  

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

XML
<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, 10
.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

另請參閱