XElement.ReplaceAll Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ersetzt die untergeordneten Knoten und die Attribute dieses Elements durch den angegebenen Inhalt.
Überlädt
| ReplaceAll(Object) |
Ersetzt die untergeordneten Knoten und die Attribute dieses Elements durch den angegebenen Inhalt. |
| ReplaceAll(Object[]) |
Ersetzt die untergeordneten Knoten und die Attribute dieses Elements durch den angegebenen Inhalt. |
Beispiele
Im folgenden Beispiel werden die Ergebnisse einer LINQ-Abfrage an diese Methode übergeben, wobei der Inhalt eines Elements durch die Abfrageergebnisse ersetzt wird. Es fragt das Element ab, das seinen Inhalt ersetzt hat.
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)
Dieses Beispiel erzeugt die folgende Ausgabe:
<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>
Hinweise
Diese Methode verwendet Momentaufnahmensemantik – also eine separate Kopie des neuen Inhalts, bevor der Inhalt des aktuellen Elements durch den neuen Inhalt ersetzt wird. Dies bedeutet, dass Sie den Inhalt des aktuellen Elements abfragen und die Ergebnisse der Abfrage als angegebenen neuen Inhalt verwenden können.
Ausführliche Informationen zu den gültigen Inhalten, die an diese Funktion übergeben werden können, finden Sie unter Valid Content of XElement and XDocument Objects.
Diese Methode löst die Changed Ereignisse aus Changing .
ReplaceAll(Object)
Ersetzt die untergeordneten Knoten und die Attribute dieses Elements durch den angegebenen Inhalt.
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)
Parameter
- content
- Object
Der Inhalt, durch den die untergeordneten Knoten und die Attribute dieses Elements ersetzt werden.
Beispiele
Im folgenden Beispiel wird diese Methode verwendet.
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)
Dieses Beispiel erzeugt die folgende Ausgabe:
<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" />
Hinweise
Diese Methode entfernt zuerst vorhandene Inhalte und Attribute. Anschließend wird der angegebene Wert hinzugefügt content.
Diese Methode verwendet Momentaufnahmensemantik – also eine separate Kopie des neuen Inhalts, bevor der Inhalt des aktuellen Elements durch den neuen Inhalt ersetzt wird. Dies bedeutet, dass Sie den Inhalt des aktuellen Elements abfragen und die Ergebnisse der Abfrage als angegebenen neuen Inhalt verwenden können.
Ausführliche Informationen zu den gültigen Inhalten, die an diese Funktion übergeben werden können, finden Sie unter Valid Content of XElement and XDocument Objects.
Diese Methode löst die Changed Ereignisse aus Changing .
Siehe auch
Gilt für:
ReplaceAll(Object[])
Ersetzt die untergeordneten Knoten und die Attribute dieses Elements durch den angegebenen Inhalt.
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())
Parameter
- content
- Object[]
Eine Parameterliste von Inhaltsobjekten.
Beispiele
Im folgenden Beispiel werden die Ergebnisse einer LINQ-Abfrage an diese Methode übergeben, wobei der Inhalt eines Elements durch die Abfrageergebnisse ersetzt wird.
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)
Dieses Beispiel erzeugt die folgende Ausgabe:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Hinweise
Diese Methode entfernt zuerst vorhandene Inhalte und Attribute. Anschließend wird der angegebene Wert hinzugefügt content.
Diese Methode verwendet Momentaufnahmensemantik – also eine separate Kopie des neuen Inhalts, bevor der Inhalt des aktuellen Elements durch den neuen Inhalt ersetzt wird. Dies bedeutet, dass Sie den Inhalt des aktuellen Elements abfragen und die Ergebnisse der Abfrage als angegebenen neuen Inhalt verwenden können.
Ausführliche Informationen zu den gültigen Inhalten, die an diese Funktion übergeben werden können, finden Sie unter Valid Content of XElement and XDocument Objects.
Diese Methode löst die Changed Ereignisse aus Changing .