Прочитать на английском

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


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

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

<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(object content);
public void ReplaceNodes(object? content);

Параметры

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

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

<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(params object[] content);
public void ReplaceNodes(params object?[] content);

Параметры

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

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

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

Комментарии

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

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

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

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

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