XNode.Remove 方法

定義

將此節點從父節點中移除。

public:
 void Remove();
public void Remove();
member this.Remove : unit -> unit
Public Sub 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);
Dim xmlTree As XElement = _
        <Root>
            <Child1>child1 content</Child1>
            <Child2>child2 content</Child2>
            <Child3>child3 content</Child3>
            <Child4>child4 content</Child4>
            <Child5>child5 content</Child5>
        </Root>

Dim child3 As XElement = xmlTree.<Child3>(0)
child3.Remove()
Console.WriteLine(xmlTree)

此範例會產生下列輸出:

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

備註

在 LINQ 轉 XML 程式設計中,查詢該節點集合時,不應該操作或修改該節點集合中的節點。 實際上,這表示你不應該遍歷一組節點並移除它們。 相反地,你應該用List<T>擴展方法將它們具體化成 aToList。 接著,你可以遍歷清單來移除節點。 欲了解更多資訊,請參閱混合宣告程式碼/命令式程式碼錯誤(LINQ 轉 XML)。

或者,如果你想移除一組節點,建議使用此 Extensions.Remove 方法。 此方法將節點複製到清單,然後遍歷清單以移除節點。

這種方法會提升事件ChangedChanging

XContainer 將子節點儲存為單一連結串列 XNode 的物件。 這表示方法 Remove 必須遍歷父容器下方的直接子節點清單。 因此,使用這種方法可能會影響你的表現。

適用於

另請參閱