XNode.ReplaceWith Metoda

Definicja

Zamienia ten węzeł na określoną zawartość.Replaces this node with the specified content.

Przeciążenia

ReplaceWith(Object)

Zamienia ten węzeł na określoną zawartość.Replaces this node with the specified content.

ReplaceWith(Object[])

Zamienia ten węzeł na określoną zawartość.Replaces this node with the specified content.

Przykłady

Poniższy przykład używa tej metody, aby zastąpić zawartość węzła inną zawartością.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)  

Ten przykład generuje następujące wyniki: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>  

Uwagi

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przesłać do tej metody, zobacz prawidłową zawartość obiektów XElement i XDocument.For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

Ta metoda spowoduje podnoszenie Changed poziomu Changing i zdarzeń.This method will raise the Changed and the Changing events.

Przechowuje węzły podrzędne jako pojedynczo połączoną XNode listę obiektów. XContainerThe XContainer stores its child nodes as a singly-linked list of XNode objects. Oznacza to, że ReplaceWith Metoda musi przejść na listę bezpośrednich węzłów podrzędnych w kontenerze nadrzędnym.This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. W związku z tym ta metoda może mieć wpływ na wydajność.Therefore, using this method might affect your performance.

ReplaceWith(Object)

Zamienia ten węzeł na określoną zawartość.Replaces this node with the specified content.

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

Parametry

content
Object

Zawartość zastępująca ten węzeł.Content that replaces this node.

Przykłady

Poniższy przykład używa tej metody, aby zastąpić zawartość węzła inną zawartością.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)  

Ten przykład generuje następujące wyniki: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>  

Uwagi

Ta metoda najpierw usuwa ten węzeł z jego elementu nadrzędnego, a następnie dodaje określoną zawartość do elementu nadrzędnego tego węzła w miejscu tego węzła.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.

Przechowuje węzły podrzędne jako pojedynczo połączoną XNode listę obiektów. XContainerThe XContainer stores its child nodes as a singly-linked list of XNode objects. Oznacza to, że ReplaceWith Metoda musi przejść na listę bezpośrednich węzłów podrzędnych w kontenerze nadrzędnym.This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. W związku z tym ta metoda może mieć wpływ na wydajność.Therefore, using this method might affect your performance.

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przesłać do tej metody, zobacz prawidłową zawartość obiektów XElement i XDocument.For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

Ta metoda spowoduje podnoszenie Changed poziomu Changing i zdarzeń.This method will raise the Changed and the Changing events.

Zobacz też

ReplaceWith(Object[])

Zamienia ten węzeł na określoną zawartość.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())

Parametry

content
Object[]

Lista parametrów nowej zawartości.A parameter list of the new content.

Przykłady

Poniższy przykład ilustruje użycie wyników LINQ do XMLLINQ to XML zapytania jako dane wejściowe do tej metody.The following example shows using the results of a LINQ do XMLLINQ 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)  

Ten przykład generuje następujące wyniki: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>  

Uwagi

Ta metoda najpierw usuwa ten węzeł z jego elementu nadrzędnego, a następnie dodaje określoną zawartość do elementu nadrzędnego tego węzła w miejscu tego węzła.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.

Przechowuje węzły podrzędne jako pojedynczo połączoną XNode listę obiektów. XContainerThe XContainer stores its child nodes as a singly-linked list of XNode objects. Oznacza to, że ReplaceWith Metoda musi przejść na listę bezpośrednich węzłów podrzędnych w kontenerze nadrzędnym.This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. W związku z tym ta metoda może mieć wpływ na wydajność.Therefore, using this method might affect your performance.

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przesłać do tej metody, zobacz prawidłową zawartość obiektów XElement i XDocument.For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

Ta metoda spowoduje podnoszenie Changed poziomu Changing i zdarzeń.This method will raise the Changed and the Changing events.

Zobacz też

Dotyczy