XNode.ReplaceWith 메서드

정의

이 노드를 지정된 콘텐츠로 바꿉니다.Replaces this node with the specified content.

오버로드

ReplaceWith(Object)

이 노드를 지정된 콘텐츠로 바꿉니다.Replaces this node with the specified content.

ReplaceWith(Object[])

이 노드를 지정된 콘텐츠로 바꿉니다.Replaces this node with the specified content.

예제

다음 예제에서는이 메서드를 사용 하 여 노드의 내용을 다른 콘텐츠로 바꿉니다.The following example uses this method to replace the contents of a node with different content.

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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

이 메서드에 전달할 수 있는 유효한 콘텐츠에 대 한 자세한 내용은 XElement 및 XDocument 개체의 올바른 콘텐츠를 참조 하세요.For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

이 메서드는 및 이벤트를 발생 시킵니다 Changed Changing .This method will raise the Changed and the Changing events.

XContainer 자식 노드를 단일 연결 개체 목록으로 저장 합니다 XNode .The XContainer stores its child nodes as a singly-linked list of XNode objects. 즉, 메서드는 ReplaceWith 부모 컨테이너의 직계 자식 노드 목록을 트래버스 해야 합니다.This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. 따라서이 방법을 사용 하면 성능에 영향을 줄 수 있습니다.Therefore, using this method might affect your performance.

ReplaceWith(Object)

이 노드를 지정된 콘텐츠로 바꿉니다.Replaces this node with the specified content.

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

이 노드를 대체할 콘텐츠입니다.Content that replaces this node.

예제

다음 예제에서는이 메서드를 사용 하 여 노드의 내용을 다른 콘텐츠로 바꿉니다.The following example uses this method to replace the contents of a node with different content.

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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

이 메서드는 먼저 부모에서이 노드를 제거한 다음이 노드 대신 지정 된 콘텐츠를이 노드의 부모에 추가 합니다.This method first removes this node from its parent, and then adds the specified content to this node's parent, in the place of this node.

XContainer 자식 노드를 단일 연결 개체 목록으로 저장 합니다 XNode .The XContainer stores its child nodes as a singly-linked list of XNode objects. 즉, 메서드는 ReplaceWith 부모 컨테이너의 직계 자식 노드 목록을 트래버스 해야 합니다.This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. 따라서이 방법을 사용 하면 성능에 영향을 줄 수 있습니다.Therefore, using this method might affect your performance.

이 메서드에 전달할 수 있는 유효한 콘텐츠에 대 한 자세한 내용은 XElement 및 XDocument 개체의 올바른 콘텐츠를 참조 하세요.For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

이 메서드는 및 이벤트를 발생 시킵니다 Changed Changing .This method will raise the Changed and the Changing events.

적용 대상

ReplaceWith(Object[])

이 노드를 지정된 콘텐츠로 바꿉니다.Replaces this node with the specified content.

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

매개 변수

content
Object[]

새 콘텐츠의 매개 변수 목록입니다.A parameter list of the new content.

예제

다음 예제에서는 LINQ to XML 쿼리의 결과를이 메서드에 대 한 입력으로 사용 하는 방법을 보여 줍니다.The following example shows using the results of a LINQ to XML query as the input to this method.

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)  

이 예제는 다음과 같은 출력을 생성합니다.This example produces the following output:

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

설명

이 메서드는 먼저 부모에서이 노드를 제거한 다음이 노드 대신 지정 된 콘텐츠를이 노드의 부모에 추가 합니다.This method first removes this node from its parent, and then adds the specified content to this node's parent, in the place of this node.

XContainer 자식 노드를 단일 연결 개체 목록으로 저장 합니다 XNode .The XContainer stores its child nodes as a singly-linked list of XNode objects. 즉, 메서드는 ReplaceWith 부모 컨테이너의 직계 자식 노드 목록을 트래버스 해야 합니다.This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. 따라서이 방법을 사용 하면 성능에 영향을 줄 수 있습니다.Therefore, using this method might affect your performance.

이 메서드에 전달할 수 있는 유효한 콘텐츠에 대 한 자세한 내용은 XElement 및 XDocument 개체의 올바른 콘텐츠를 참조 하세요.For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

이 메서드는 및 이벤트를 발생 시킵니다 Changed Changing .This method will raise the Changed and the Changing events.

적용 대상