XNode.ReplaceWith Metod

Definition

Ersätter den här noden med det angivna innehållet.

Överlagringar

Name Description
ReplaceWith(Object)

Ersätter den här noden med det angivna innehållet.

ReplaceWith(Object[])

Ersätter den här noden med det angivna innehållet.

Exempel

I följande exempel används den här metoden för att ersätta innehållet i en nod med annat innehåll.

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)

Det här exemplet genererar följande utdata:

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

Kommentarer

Mer information om giltigt innehåll som kan skickas till den här metoden finns i Giltigt innehåll för XElement- och XDocument-objekt.

Den här metoden genererar Changed händelserna och Changing .

Lagrar XContainer sina underordnade noder som en singly-länkad lista över XNode objekt. Det innebär att ReplaceWith metoden måste gå igenom listan över direkta underordnade noder under den överordnade containern. Därför kan användningen av den här metoden påverka prestandan.

ReplaceWith(Object)

Ersätter den här noden med det angivna innehållet.

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

Parametrar

content
Object

Innehåll som ersätter den här noden.

Exempel

I följande exempel används den här metoden för att ersätta innehållet i en nod med annat innehåll.

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)

Det här exemplet genererar följande utdata:

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

Kommentarer

Den här metoden tar först bort den här noden från den överordnade noden och lägger sedan till det angivna innehållet i den här nodens överordnade, i stället för den här noden.

Lagrar XContainer sina underordnade noder som en singly-länkad lista över XNode objekt. Det innebär att ReplaceWith metoden måste gå igenom listan över direkta underordnade noder under den överordnade containern. Därför kan användningen av den här metoden påverka prestandan.

Mer information om giltigt innehåll som kan skickas till den här metoden finns i Giltigt innehåll för XElement- och XDocument-objekt.

Den här metoden genererar Changed händelserna och Changing .

Se även

Gäller för

ReplaceWith(Object[])

Ersätter den här noden med det angivna innehållet.

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

Parametrar

content
Object[]

En parameterlista över det nya innehållet.

Exempel

I följande exempel visas hur du använder resultatet av en LINQ till XML-fråga som indata till den här metoden.

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)

Det här exemplet genererar följande utdata:

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

Kommentarer

Den här metoden tar först bort den här noden från den överordnade noden och lägger sedan till det angivna innehållet i den här nodens överordnade, i stället för den här noden.

Lagrar XContainer sina underordnade noder som en singly-länkad lista över XNode objekt. Det innebär att ReplaceWith metoden måste gå igenom listan över direkta underordnade noder under den överordnade containern. Därför kan användningen av den här metoden påverka prestandan.

Mer information om giltigt innehåll som kan skickas till den här metoden finns i Giltigt innehåll för XElement- och XDocument-objekt.

Den här metoden genererar Changed händelserna och Changing .

Se även

Gäller för