共用方式為


XNode.ReplaceWith 方法

定義

以指定的內容取代這個節點。

多載

名稱 Description
ReplaceWith(Object)

以指定的內容取代這個節點。

ReplaceWith(Object[])

以指定的內容取代這個節點。

範例

下列範例會使用此方法,以不同的內容取代節點的內容。

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.ReplaceWith(
    new XElement("NewChild", "new content")
);
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.ReplaceWith(<NewChild>new content</NewChild>)
Console.WriteLine(xmlTree)

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

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

備註

如需可以傳遞至此方法之有效內容的詳細資訊,請參閱 XElement 和 XDocument 物件的有效內容

這個方法會引發 ChangedChanging 事件。

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

ReplaceWith(Object)

來源:
XNode.cs
來源:
XNode.cs
來源:
XNode.cs
來源:
XNode.cs

以指定的內容取代這個節點。

public:
 void ReplaceWith(System::Object ^ content);
public void ReplaceWith(object content);
public void ReplaceWith(object? content);
member this.ReplaceWith : obj -> unit
Public Sub ReplaceWith (content As Object)

參數

content
Object

取代這個節點的內容。

範例

下列範例會使用此方法,以不同的內容取代節點的內容。

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.ReplaceWith(
    new XElement("NewChild", "new content")
);
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.ReplaceWith(<NewChild>new content</NewChild>)
Console.WriteLine(xmlTree)

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

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

備註

這個方法會先從其父代中移除這個節點,然後將指定的內容新增至這個節點的父代,以取代這個節點。

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

如需可以傳遞至此方法之有效內容的詳細資訊,請參閱 XElement 和 XDocument 物件的有效內容

這個方法會引發 ChangedChanging 事件。

另請參閱

適用於

ReplaceWith(Object[])

來源:
XNode.cs
來源:
XNode.cs
來源:
XNode.cs
來源:
XNode.cs

以指定的內容取代這個節點。

public:
 void ReplaceWith(... cli::array <System::Object ^> ^ content);
public void ReplaceWith(params object[] content);
public void ReplaceWith(params object?[] content);
member this.ReplaceWith : obj[] -> unit
Public Sub ReplaceWith (ParamArray content As Object())

參數

content
Object[]

新內容的參數清單。

範例

下列範例示範如何使用LINQ to XML查詢的結果做為此方法的輸入。

XElement srcTree = new XElement("Root",
    new XElement("Element1", 1),
    new XElement("Element2", 2),
    new XElement("Element3", 3),
    new XElement("Element4", 4),
    new XElement("Element5", 5)
);
XElement xmlTree = new XElement("Root",
    new XElement("Child1", 1),
    new XElement("Child2", 2),
    new XElement("Child3", 3),
    new XElement("Child4", 4),
    new XElement("Child5", 5)
);
XElement child3 = xmlTree.Element("Child3");
child3.ReplaceWith(
    from el in srcTree.Elements()
    where (int)el > 3
    select el
);
Console.WriteLine(xmlTree);
Dim srcTree As XElement = _
        <Root>
            <Element1>1</Element1>
            <Element2>2</Element2>
            <Element3>3</Element3>
            <Element4>4</Element4>
            <Element5>5</Element5>
        </Root>

Dim xmlTree As XElement = _
        <Root>
            <Child1>1</Child1>
            <Child2>2</Child2>
            <Child3>3</Child3>
            <Child4>4</Child4>
            <Child5>5</Child5>
        </Root>

Dim child3 As XElement = xmlTree.<Child3>(0)
child3.ReplaceWith( _
    From el In srcTree.Elements() _
    Where (CInt(el) > 3) _
    Select el)

Console.WriteLine(xmlTree)

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

<Root>
  <Child1>1</Child1>
  <Child2>2</Child2>
  <Element4>4</Element4>
  <Element5>5</Element5>
  <Child4>4</Child4>
  <Child5>5</Child5>
</Root>

備註

這個方法會先從其父代中移除這個節點,然後將指定的內容新增至這個節點的父代,以取代這個節點。

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

如需可以傳遞至此方法之有效內容的詳細資訊,請參閱 XElement 和 XDocument 物件的有效內容

這個方法會引發 ChangedChanging 事件。

另請參閱

適用於