XElement.ReplaceAll Méthode

Définition

Remplace les nœuds enfants et les attributs de cet élément par le contenu spécifié.

Surcharges

ReplaceAll(Object)

Remplace les nœuds enfants et les attributs de cet élément par le contenu spécifié.

ReplaceAll(Object[])

Remplace les nœuds enfants et les attributs de cet élément par le contenu spécifié.

Exemples

L’exemple suivant transmet les résultats d’une requête LINQ à cette méthode, en remplaçant le contenu d’un élément par les résultats de la requête. Il interroge l’élément dont le contenu est remplacé.

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)

Cet exemple produit la sortie suivante :

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

Remarques

Cette méthode utilise instantané sémantique, c’est-à-dire qu’elle crée une copie distincte du nouveau contenu avant de remplacer le contenu de l’élément actuel par le nouveau contenu. Cela signifie que vous pouvez interroger le contenu de l’élément actuel et utiliser les résultats de la requête comme nouveau contenu spécifié.

Pour plus d’informations sur le contenu valide qui peut être transmis à cette fonction, consultez Contenu valide des objets XElement et XDocument.

Cette méthode déclenche les Changed événements et .Changing

ReplaceAll(Object)

Remplace les nœuds enfants et les attributs de cet élément par le contenu spécifié.

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)

Paramètres

content
Object

Contenu qui remplacera les nœuds enfants et les attributs de cet élément.

Exemples

L’exemple suivant utilise cette méthode.

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)

Cet exemple produit la sortie suivante :

<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" />

Remarques

Cette méthode supprime d’abord le contenu et les attributs existants. Il ajoute ensuite le spécifié content.

Cette méthode utilise instantané sémantique, c’est-à-dire qu’elle crée une copie distincte du nouveau contenu avant de remplacer le contenu de l’élément actuel par le nouveau contenu. Cela signifie que vous pouvez interroger le contenu de l’élément actuel et utiliser les résultats de la requête comme nouveau contenu spécifié.

Pour plus d’informations sur le contenu valide qui peut être transmis à cette fonction, consultez Contenu valide des objets XElement et XDocument.

Cette méthode déclenche les Changed événements et .Changing

Voir aussi

S’applique à

ReplaceAll(Object[])

Remplace les nœuds enfants et les attributs de cet élément par le contenu spécifié.

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

Paramètres

content
Object[]

Liste de paramètres d'objets de contenu.

Exemples

L’exemple suivant transmet les résultats d’une requête LINQ à cette méthode, en remplaçant le contenu d’un élément par les résultats de la requête.

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)

Cet exemple produit la sortie suivante :

<Root>
  <Child3>3</Child3>
  <Child4>4</Child4>
  <Child5>5</Child5>
</Root>

Remarques

Cette méthode supprime d’abord le contenu et les attributs existants. Il ajoute ensuite le spécifié content.

Cette méthode utilise instantané sémantique, c’est-à-dire qu’elle crée une copie distincte du nouveau contenu avant de remplacer le contenu de l’élément actuel par le nouveau contenu. Cela signifie que vous pouvez interroger le contenu de l’élément actuel et utiliser les résultats de la requête comme nouveau contenu spécifié.

Pour plus d’informations sur le contenu valide qui peut être transmis à cette fonction, consultez Contenu valide des objets XElement et XDocument.

Cette méthode déclenche les Changed événements et .Changing

Voir aussi

S’applique à