XNode.Remove 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將這個節點從其父代 (Parent) 移除。
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 to XML程式設計中,當您查詢該集合中的節點時,您不應該操作或修改一組節點。 實際上,這表示您不應該逐一查看一組節點並加以移除。 相反地,您應該使用 ToList 擴充方法將其具體化為 List<T> 。 然後,您可以逐一查看清單來移除節點。 如需詳細資訊,請參閱混合宣告式程式碼/命令式程式碼 Bug (LINQ to XML) 。
或者,如果您想要移除一組節點,建議您使用 Extensions.Remove 方法。 此方法會將節點複製到清單,然後逐一查看清單以移除節點。
這個方法會引發 Changed 和 Changing 事件。
會將 XContainer 其子節點儲存為物件的單一連結清單 XNode 。 這表示 Remove 方法必須周遊父容器底下的直接子節點清單。 因此,使用此方法可能會影響您的效能。