XElement.ReplaceAll Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Заменяет дочерние узлы и атрибуты этого элемента указанным содержимым.
Перегрузки
| Имя | Описание |
|---|---|
| ReplaceAll(Object) |
Заменяет дочерние узлы и атрибуты этого элемента указанным содержимым. |
| ReplaceAll(Object[]) |
Заменяет дочерние узлы и атрибуты этого элемента указанным содержимым. |
Примеры
Следующий пример передает результаты запроса LINQ этому методу, заменив содержимое элемента результатами запроса. Он запрашивает элемент, заменяющий его содержимое.
XElement xmlTree = new XElement("Root",
new XElement("Data", 1),
new XElement("Data", 2),
new XElement("Data", 3),
new XElement("Data", 4),
new XElement("Data", 5)
);
Console.WriteLine(xmlTree);
Console.WriteLine("-----");
xmlTree.ReplaceAll(
from el in xmlTree.Elements()
where (int)el >= 3
select new XElement("NewData", (int)el)
);
Console.WriteLine(xmlTree);
Dim xmlTree As XElement = _
<Root>
<Data>1</Data>
<Data>2</Data>
<Data>3</Data>
<Data>4</Data>
<Data>5</Data>
</Root>
Console.WriteLine(xmlTree)
Console.WriteLine("-----")
xmlTree.ReplaceAll( _
From el In xmlTree.Elements _
Where el.Value >= 3 _
Select <NewData><%= el.Value %></NewData> _
)
Console.WriteLine(xmlTree)
В примере получается следующий вывод.
<Root>
<Data>1</Data>
<Data>2</Data>
<Data>3</Data>
<Data>4</Data>
<Data>5</Data>
</Root>
-----
<Root>
<NewData>3</NewData>
<NewData>4</NewData>
<NewData>5</NewData>
</Root>
Комментарии
Этот метод использует семантику моментальных снимков, то есть создает отдельную копию нового содержимого перед заменой содержимого текущего элемента новым содержимым. Это означает, что можно запрашивать содержимое текущего элемента и использовать результаты запроса в качестве указанного нового содержимого.
Дополнительные сведения о допустимом содержимом, которое можно передать этой функции, см. в разделе "Допустимое содержимое объектов XElement и XDocument".
Этот метод вызовет Changed события и Changing события.
ReplaceAll(Object)
- Исходный код:
- XElement.cs
- Исходный код:
- XElement.cs
- Исходный код:
- XElement.cs
- Исходный код:
- XElement.cs
- Исходный код:
- XElement.cs
Заменяет дочерние узлы и атрибуты этого элемента указанным содержимым.
public:
void ReplaceAll(System::Object ^ content);
public void ReplaceAll(object content);
public void ReplaceAll(object? content);
member this.ReplaceAll : obj -> unit
Public Sub ReplaceAll (content As Object)
Параметры
- content
- Object
Содержимое, которое заменит дочерние узлы и атрибуты этого элемента.
Примеры
В следующем примере используется этот метод.
XElement root = new XElement("Root",
new XElement("Child", "child content")
);
// ReplaceAll with an XElement object.
root.ReplaceAll(new XElement("NewChild", "n"));
Console.WriteLine(root);
// ReplaceAll with an XAttribute object.
root.ReplaceAll(new XAttribute("NewAttribute", "n"));
Console.WriteLine(root);
// ReplaceAll with a string.
root.ReplaceAll("Some text");
Console.WriteLine(root);
// ReplaceAll with a double.
double dbl = 12.345;
root.ReplaceAll(dbl);
Console.WriteLine(root);
// ReplaceAll with a DateTime object.
DateTime dt = new DateTime(2006, 10, 6, 12, 30, 00);
root.ReplaceAll(dt);
Console.WriteLine(root);
// ReplaceAll with a string array.
// Any collection other than a collection of XElement or XAttribute objects
// are converted to strings. The strings are concatenated and added.
string[] stringArray = {
"abc",
"def",
"ghi"
};
root.ReplaceAll(stringArray);
Console.WriteLine(root);
// ReplaceAll with an array of XElement objects.
XElement[] ellArray = {
new XElement("NewChild1", 1),
new XElement("NewChild2", 2),
new XElement("NewChild3", 3)
};
root.ReplaceAll(ellArray);
Console.WriteLine(root);
// ReplaceAll with an array of XAttribute objects.
XAttribute[] attArray = {
new XAttribute("NewAtt1", 1),
new XAttribute("NewAtt2", 2),
new XAttribute("NewAtt3", 3)
};
root.ReplaceAll(attArray);
Console.WriteLine(root);
Dim root As XElement = _
<Root>
<Child>child content</Child>
</Root>
' ReplaceAll with an XElement object.
root.ReplaceAll(<NewChild>n</NewChild>)
Console.WriteLine(root)
' ReplaceAll with an XAttribute object.
root.ReplaceAll(New XAttribute("NewAttribute", "n"))
Console.WriteLine(root)
' ReplaceAll with a string.
root.ReplaceAll("Some text")
Console.WriteLine(root)
' ReplaceAll with a double.
Dim dbl As Double = 12.345
root.ReplaceAll(dbl)
Console.WriteLine(root)
' ReplaceAll with a DateTime object.
Dim dt As DateTime = New DateTime(2006, 10, 6, 12, 30, 0)
root.ReplaceAll(dt)
Console.WriteLine(root)
' ReplaceAll with a string array.
' Any collection other than a collection of XElement or XAttribute objects
' are converted to strings. The strings are concatenated and added.
Dim stringArray As String() = { _
"abc", _
"def", _
"ghi" _
}
root.ReplaceAll(stringArray)
Console.WriteLine(root)
' ReplaceAll with an array of XElement objects.
Dim ellArray As XElement() = { _
New XElement("NewChild1", 1), _
New XElement("NewChild2", 2), _
New XElement("NewChild3", 3) _
}
root.ReplaceAll(ellArray)
Console.WriteLine(root)
' ReplaceAll with an array of XAttribute objects.
Dim attArray As XAttribute() = { _
New XAttribute("NewAtt1", 1), _
New XAttribute("NewAtt2", 2), _
New XAttribute("NewAtt3", 3) _
}
root.ReplaceAll(attArray)
Console.WriteLine(root)
В примере получается следующий вывод.
<Root>
<NewChild>n</NewChild>
</Root>
<Root NewAttribute="n" />
<Root>Some text</Root>
<Root>12.345</Root>
<Root>2006-10-06T12:30:00</Root>
<Root>abcdefghi</Root>
<Root>
<NewChild1>1</NewChild1>
<NewChild2>2</NewChild2>
<NewChild3>3</NewChild3>
</Root>
<Root NewAtt1="1" NewAtt2="2" NewAtt3="3" />
Комментарии
Этот метод сначала удаляет существующее содержимое и атрибуты. Затем он добавляет указанный content.
Этот метод использует семантику моментальных снимков, то есть создает отдельную копию нового содержимого перед заменой содержимого текущего элемента новым содержимым. Это означает, что можно запрашивать содержимое текущего элемента и использовать результаты запроса в качестве указанного нового содержимого.
Дополнительные сведения о допустимом содержимом, которое можно передать этой функции, см. в разделе "Допустимое содержимое объектов XElement и XDocument".
Этот метод вызовет Changed события и Changing события.
См. также раздел
Применяется к
ReplaceAll(Object[])
- Исходный код:
- XElement.cs
- Исходный код:
- XElement.cs
- Исходный код:
- XElement.cs
- Исходный код:
- XElement.cs
- Исходный код:
- XElement.cs
Заменяет дочерние узлы и атрибуты этого элемента указанным содержимым.
public:
void ReplaceAll(... cli::array <System::Object ^> ^ content);
public void ReplaceAll(params object[] content);
public void ReplaceAll(params object?[] content);
member this.ReplaceAll : obj[] -> unit
Public Sub ReplaceAll (ParamArray content As Object())
Параметры
- content
- Object[]
Список параметров объектов контента.
Примеры
Следующий пример передает результаты запроса LINQ этому методу, заменив содержимое элемента результатами запроса.
XElement xmlTree1 = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child2", 2),
new XElement("Child3", 3),
new XElement("Child4", 4),
new XElement("Child5", 5),
new XElement("Child6", 6)
);
XElement root = new XElement("Root",
new XElement("Child", "child content")
);
root.ReplaceAll(
from el in xmlTree1.Elements()
where((int)el >= 3 && (int)el <= 5)
select el
);
Console.WriteLine(root);
Dim xmlTree1 As XElement = _
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
<Child6>6</Child6>
</Root>
Dim root As XElement = <Root>
<Child>child content</Child>
</Root>
root.ReplaceAll( _
From el In xmlTree1.Elements() _
Where el.Value >= 3 And el.Value <= 5 _
Select el _
)
Console.WriteLine(root)
В примере получается следующий вывод.
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Комментарии
Этот метод сначала удаляет существующее содержимое и атрибуты. Затем он добавляет указанный content.
Этот метод использует семантику моментальных снимков, то есть создает отдельную копию нового содержимого перед заменой содержимого текущего элемента новым содержимым. Это означает, что можно запрашивать содержимое текущего элемента и использовать результаты запроса в качестве указанного нового содержимого.
Дополнительные сведения о допустимом содержимом, которое можно передать этой функции, см. в разделе "Допустимое содержимое объектов XElement и XDocument".
Этот метод вызовет Changed события и Changing события.