Поделиться через


XContainer.ReplaceNodes Метод

Определение

Заменяет дочерние узлы данного документа или элемента заданным содержимым.

Перегрузки

ReplaceNodes(Object)

Заменяет дочерние узлы данного документа или элемента заданным содержимым.

ReplaceNodes(Object[])

Заменяет дочерние узлы данного документа или элемента заданным содержимым.

Примеры

В следующем примере создаются два XML-дерева, а затем используется этот метод для замены содержимого одного из них результатами запроса.

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)  

В этом примере выводятся следующие данные:

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

Комментарии

Дополнительные сведения о допустимом содержимом, которое можно передать в эту функцию, см. в разделе Допустимое содержимое объектов XElement и XDocument.

Этот метод вызывает Changed события и Changing .

Этот метод имеет snapshot семантику. Сначала создается копия нового содержимого. Затем он удаляет все дочерние узлы этого узла. Наконец, он добавляет новое содержимое в качестве дочерних узлов. Это означает, что можно заменить дочерние узлы с помощью запроса к самим дочерним узлам.

ReplaceNodes(Object)

Исходный код:
XContainer.cs
Исходный код:
XContainer.cs
Исходный код:
XContainer.cs

Заменяет дочерние узлы данного документа или элемента заданным содержимым.

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

Параметры

content
Object

Объект содержимого, включающий простое содержимое или коллекцию объектов содержимого, которые заменяют дочерние узлы.

Примеры

В следующем примере создается XML-дерево, содержащее дочерние узлы. Затем он заменяет все дочерние узлы одним элементом.

Пример замены дочерних узлов результатами запроса LINQ см. в разделе 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)  

В этом примере выводятся следующие данные:

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

Комментарии

Дополнительные сведения о допустимом содержимом, которое можно передать в эту функцию, см. в разделе Допустимое содержимое объектов XElement и XDocument.

Этот метод вызывает Changed события и Changing .

Этот метод имеет snapshot семантику. Сначала создается копия нового содержимого. Затем он удаляет все дочерние узлы этого узла. Наконец, он добавляет новое содержимое в качестве дочерних узлов. Это означает, что можно заменить дочерние узлы с помощью запроса к самим дочерним узлам.

См. также раздел

Применяется к

ReplaceNodes(Object[])

Исходный код:
XContainer.cs
Исходный код:
XContainer.cs
Исходный код:
XContainer.cs

Заменяет дочерние узлы данного документа или элемента заданным содержимым.

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

Параметры

content
Object[]

Список параметров объектов содержимого.

Примеры

В следующем примере создается словарь и XML-дерево. Затем он запрашивает словарь, проецирует результаты в IEnumerable<T>XElementи заменяет содержимое XML-дерева результатами запроса.

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)  

В этом примере выводятся следующие данные:

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

Комментарии

Дополнительные сведения о допустимом содержимом, которое можно передать в эту функцию, см. в разделе Допустимое содержимое объектов XElement и XDocument.

Этот метод вызывает Changed события и Changing .

Этот метод имеет snapshot семантику. Сначала создается копия нового содержимого. Затем он удаляет все дочерние узлы этого узла. Наконец, он добавляет новое содержимое в качестве дочерних узлов. Это означает, что можно заменить дочерние узлы с помощью запроса к самим дочерним узлам.

См. также раздел

Применяется к