XNode.ReplaceWith Metoda

Definicja

Zastępuje ten węzeł określoną zawartością.

Przeciążenia

ReplaceWith(Object)

Zastępuje ten węzeł określoną zawartością.

ReplaceWith(Object[])

Zastępuje ten węzeł określoną zawartością.

Przykłady

W poniższym przykładzie użyto tej metody, aby zastąpić zawartość węzła inną zawartością.

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:

<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 przekazać do tej metody, zobacz Prawidłowa zawartość elementów XElement i XDocument Objects.

Ta metoda spowoduje wywołanie zdarzeń Changed i Changing .

Obiekt XContainer przechowuje węzły podrzędne jako połączoną ze sobą listę XNode obiektów. Oznacza to, że ReplaceWith metoda musi przechodzić przez listę bezpośrednich węzłów podrzędnych w kontenerze nadrzędnym. W związku z tym użycie tej metody może mieć wpływ na wydajność.

ReplaceWith(Object)

Źródło:
XNode.cs
Źródło:
XNode.cs
Źródło:
XNode.cs

Zastępuje ten węzeł określoną zawartością.

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)

Parametry

content
Object

Zawartość zastępująca ten węzeł.

Przykłady

W poniższym przykładzie użyto tej metody, aby zastąpić zawartość węzła inną zawartością.

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:

<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 węzła nadrzędnego, a następnie dodaje określoną zawartość do węzła nadrzędnego w miejscu tego węzła.

Obiekt XContainer przechowuje węzły podrzędne jako połączoną ze sobą listę XNode obiektów. Oznacza to, że ReplaceWith metoda musi przechodzić przez listę bezpośrednich węzłów podrzędnych w kontenerze nadrzędnym. W związku z tym użycie tej metody może mieć wpływ na wydajność.

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przekazać do tej metody, zobacz Prawidłowa zawartość elementów XElement i XDocument Objects.

Ta metoda spowoduje wywołanie zdarzeń Changed i Changing .

Zobacz też

Dotyczy

ReplaceWith(Object[])

Źródło:
XNode.cs
Źródło:
XNode.cs
Źródło:
XNode.cs

Zastępuje ten węzeł określoną zawartością.

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())

Parametry

content
Object[]

Lista parametrów nowej zawartości.

Przykłady

W poniższym przykładzie pokazano użycie wyników zapytania LINQ to XML jako danych wejściowych tej metody.

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:

<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 węzła nadrzędnego, a następnie dodaje określoną zawartość do węzła nadrzędnego w miejscu tego węzła.

Obiekt XContainer przechowuje węzły podrzędne jako połączoną ze sobą listę XNode obiektów. Oznacza to, że ReplaceWith metoda musi przechodzić przez listę bezpośrednich węzłów podrzędnych w kontenerze nadrzędnym. W związku z tym użycie tej metody może mieć wpływ na wydajność.

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przekazać do tej metody, zobacz Prawidłowa zawartość elementów XElement i XDocument Objects.

Ta metoda spowoduje wywołanie zdarzeń Changed i Changing .

Zobacz też

Dotyczy