XElement.ReplaceAll Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Nahradí podřízené uzly a atributy tohoto prvku zadaným obsahem.
Přetížení
ReplaceAll(Object) |
Nahradí podřízené uzly a atributy tohoto prvku zadaným obsahem. |
ReplaceAll(Object[]) |
Nahradí podřízené uzly a atributy tohoto prvku zadaným obsahem. |
Příklady
Následující příklad předá výsledky dotazu LINQ této metodě a nahradí obsah elementu výsledky dotazu. Dotazuje se na prvek, který má nahrazený obsah.
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)
Tento příklad vytvoří následující výstup:
<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>
Poznámky
Tato metoda používá sémantiku snímků – to znamená, že před nahrazením obsahu aktuálního prvku novým obsahem vytvoří samostatnou kopii nového obsahu. To znamená, že se můžete dotazovat na obsah aktuálního prvku a použít výsledky dotazu jako zadaný nový obsah.
Podrobnosti o platném obsahu, který lze předat této funkci, najdete v tématu Platný obsah objektů XElement a XDocument.
Tato metoda vyvolá Changed události a Changing .
ReplaceAll(Object)
- Zdroj:
- XElement.cs
- Zdroj:
- XElement.cs
- Zdroj:
- XElement.cs
Nahradí podřízené uzly a atributy tohoto prvku zadaným obsahem.
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)
Parametry
- content
- Object
Obsah, který nahradí podřízené uzly a atributy tohoto prvku.
Příklady
Následující příklad používá tuto metodu.
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)
Tento příklad vytvoří následující výstup:
<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" />
Poznámky
Tato metoda nejprve odebere existující obsah a atributy. Pak přidá zadaný parametr content
.
Tato metoda používá sémantiku snímků – to znamená, že před nahrazením obsahu aktuálního prvku novým obsahem vytvoří samostatnou kopii nového obsahu. To znamená, že se můžete dotazovat na obsah aktuálního prvku a použít výsledky dotazu jako zadaný nový obsah.
Podrobnosti o platném obsahu, který lze předat této funkci, najdete v tématu Platný obsah objektů XElement a XDocument.
Tato metoda vyvolá Changed události a Changing .
Viz také
Platí pro
ReplaceAll(Object[])
- Zdroj:
- XElement.cs
- Zdroj:
- XElement.cs
- Zdroj:
- XElement.cs
Nahradí podřízené uzly a atributy tohoto prvku zadaným obsahem.
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())
Parametry
- content
- Object[]
Seznam parametrů objektů obsahu.
Příklady
Následující příklad předá výsledky dotazu LINQ této metodě a nahradí obsah elementu výsledky dotazu.
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)
Tento příklad vytvoří následující výstup:
<Root>
<Child3>3</Child3>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Poznámky
Tato metoda nejprve odebere existující obsah a atributy. Pak přidá zadaný parametr content
.
Tato metoda používá sémantiku snímků – to znamená, že před nahrazením obsahu aktuálního prvku novým obsahem vytvoří samostatnou kopii nového obsahu. To znamená, že se můžete dotazovat na obsah aktuálního prvku a použít výsledky dotazu jako zadaný nový obsah.
Podrobnosti o platném obsahu, který lze předat této funkci, najdete v tématu Platný obsah objektů XElement a XDocument.
Tato metoda vyvolá Changed události a Changing .