XContainer.ReplaceNodes Metoda

Definicja

Zamienia węzły podrzędne tego dokumentu lub elementu na określoną zawartość.Replaces the children nodes of this document or element with the specified content.

Przeciążenia

ReplaceNodes(Object)

Zamienia węzły podrzędne tego dokumentu lub elementu na określoną zawartość.Replaces the children nodes of this document or element with the specified content.

ReplaceNodes(Object[])

Zamienia węzły podrzędne tego dokumentu lub elementu na określoną zawartość.Replaces the children nodes of this document or element with the specified content.

Przykłady

Poniższy przykład tworzy dwa drzewa XML, a następnie używa tej metody do zastąpienia zawartości jednego z wyników zapytania.The following example creates two XML trees, and then uses this method to replace the contents of one of them with the results of a query.

XElement root = new XElement("Root",  
    new XElement("Child", 1),  
    new XElement("Child", 2),  
    new XElement("Child", 3),  
    new XElement("Child", 4),  
    new XElement("Child", 5)  
);  
root.ReplaceNodes(  
    from el in root.Elements()  
    where (int)el >= 3  
    select el  
);  
Console.WriteLine(root);  
Dim root As XElement = _   
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  
root.ReplaceNodes( _  
    From el In root.Elements _  
    Where el.Value >= 3 _  
    Select el)  
Console.WriteLine(root)  

Ten przykład generuje następujące wyniki:This example produces the following output:

<Root>  
  <Child>3</Child>  
  <Child>4</Child>  
  <Child>5</Child>  
</Root>  

Uwagi

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przesłać do tej funkcji, zobacz prawidłową zawartość obiektów XElement i XDocument.For details about the valid content that can be passed to this function, 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.

Ta metoda ma semantykę migawki.This method has snapshot semantics. Najpierw tworzy kopię nowej zawartości.It first creates a copy of the new content. Następnie usuwa wszystkie węzły podrzędne węzła.It then removes all children nodes of this node. Na koniec dodaje nową zawartość jako węzły podrzędne.Finally, it adds the new content as children nodes. Oznacza to, że można zastąpić węzły podrzędne przy użyciu zapytania w samych węzłach podrzędnych.This means that you can replace children nodes using a query on the children nodes themselves.

ReplaceNodes(Object)

Zamienia węzły podrzędne tego dokumentu lub elementu na określoną zawartość.Replaces the children nodes of this document or element with the specified content.

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

Parametry

content
Object

Obiekt zawartości zawierający prostą zawartość lub kolekcję obiektów zawartości, które zastępują węzły podrzędne.A content object containing simple content or a collection of content objects that replace the children nodes.

Przykłady

Poniższy przykład tworzy drzewo XML, który zawiera węzły podrzędne.The following example creates an XML tree that contains children nodes. Następnie zastępuje wszystkie węzły podrzędne pojedynczym elementem.It then replaces all of the children nodes with a single element.

Aby zobaczyć przykład zastąpienia węzłów podrzędnych wynikami LINQLINQ zapytania, zobacz. ReplaceNodesTo see an example of replacing the children nodes with the results of a LINQLINQ query, see ReplaceNodes.

XElement root = new XElement("Root",  
    new XElement("Child", 1),  
    new XElement("Child", 2),  
    new XElement("Child", 3),  
    new XElement("Child", 4),  
    new XElement("Child", 5)  
);  
root.ReplaceNodes(  
    from el in root.Elements()  
    where (int)el >= 3  
    select el  
);  
Console.WriteLine(root);  
Dim root As XElement = _   
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  
root.ReplaceNodes( _  
    From el In root.Elements _  
    Where el.Value >= 3 _  
    Select el)  
Console.WriteLine(root)  

Ten przykład generuje następujące wyniki:This example produces the following output:

<Root>  
  <Child>3</Child>  
  <Child>4</Child>  
  <Child>5</Child>  
</Root>  

Uwagi

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przesłać do tej funkcji, zobacz prawidłową zawartość obiektów XElement i XDocument.For details about the valid content that can be passed to this function, 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.

Ta metoda ma semantykę migawki.This method has snapshot semantics. Najpierw tworzy kopię nowej zawartości.It first creates a copy of the new content. Następnie usuwa wszystkie węzły podrzędne węzła.It then removes all children nodes of this node. Na koniec dodaje nową zawartość jako węzły podrzędne.Finally, it adds the new content as children nodes. Oznacza to, że można zastąpić węzły podrzędne przy użyciu zapytania w samych węzłach podrzędnych.This means that you can replace children nodes using a query on the children nodes themselves.

Zobacz też

ReplaceNodes(Object[])

Zamienia węzły podrzędne tego dokumentu lub elementu na określoną zawartość.Replaces the children nodes of this document or element with the specified content.

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

Parametry

content
Object[]

Lista parametrów obiektów zawartości.A parameter list of content objects.

Przykłady

Poniższy przykład tworzy słownik i drzewo XML.The following example creates a dictionary and an XML tree. Następnie wysyła zapytanie do słownika, projektuje wyniki do IEnumerable<T> XElementi zastępuje zawartość drzewa XML wynikami zapytania.It then queries the dictionary, projects the results to an IEnumerable<T> of XElement, and replaces the contents of the XML tree with the results of the query.

XElement root = new XElement("Root",  
    new XElement("Child", 1),  
    new XElement("Child", 2),  
    new XElement("Child", 3),  
    new XElement("Child", 4),  
    new XElement("Child", 5)  
);  
root.ReplaceNodes(  
    from el in root.Elements()  
    where (int)el >= 3  
    select el  
);  
Console.WriteLine(root);  
Dim root As XElement = _   
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  
root.ReplaceNodes( _  
    From el In root.Elements _  
    Where el.Value >= 3 _  
    Select el)  
Console.WriteLine(root)  

Ten przykład generuje następujące wyniki:This example produces the following output:

<Root>  
  <Child>3</Child>  
  <Child>4</Child>  
  <Child>5</Child>  
</Root>  

Uwagi

Aby uzyskać szczegółowe informacje o prawidłowej zawartości, którą można przesłać do tej funkcji, zobacz prawidłową zawartość obiektów XElement i XDocument.For details about the valid content that can be passed to this function, 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.

Ta metoda ma semantykę migawki.This method has snapshot semantics. Najpierw tworzy kopię nowej zawartości.It first creates a copy of the new content. Następnie usuwa wszystkie węzły podrzędne węzła.It then removes all children nodes of this node. Na koniec dodaje nową zawartość jako węzły podrzędne.Finally, it adds the new content as children nodes. Oznacza to, że można zastąpić węzły podrzędne przy użyciu zapytania w samych węzłach podrzędnych.This means that you can replace children nodes using a query on the children nodes themselves.

Zobacz też

Dotyczy