XElement Constructeurs

Définition

Initialise une nouvelle instance de la classe XElement.

Surcharges

XElement(XElement)

Initialise une nouvelle instance de la classe XElement à partir d'un autre objet XElement.

XElement(XName)

Initialise une nouvelle instance de la classe XElement avec le nom spécifié.

XElement(XStreamingElement)

Initialise une nouvelle instance de la classe XElement à partir d'un objet XStreamingElement.

XElement(XName, Object)

Initialise une nouvelle instance de la classe XElement avec le nom et le contenu spécifiés.

XElement(XName, Object[])

Initialise une nouvelle instance de la classe XElement avec le nom et le contenu spécifiés.

Exemples

L’exemple suivant crée une arborescence XML. Le contenu du nouvel élément provient d’une requête LINQ.

XElement xmlTree1 = new XElement("Root",
    new XElement("Child", 1),
    new XElement("Child", 2),
    new XElement("Child", 3),
    new XElement("Child", 4),
    new XElement("Child", 5),
    new XElement("Child", 6)
);

XElement xmlTree2 = new XElement("Root",
    from el in xmlTree1.Elements()
    where((int)el >= 3 && (int)el <= 5)
    select el
);
Console.WriteLine(xmlTree2);
Dim xmlTree1 As XElement = _
        <Root>
            <Child>1</Child>
            <Child>2</Child>
            <Child>3</Child>
            <Child>4</Child>
            <Child>5</Child>
            <Child>6</Child>
        </Root>

Dim xmlTree2 As XElement = _
    <Root>
        <%= From el In xmlTree1.Elements() _
            Where el.Value >= 3 And el.Value <= 5 _
            Select el %>
    </Root>

Console.WriteLine(xmlTree2)

Cet exemple produit la sortie suivante :

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

Remarques

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

Il existe une conversion implicite de chaîne en XName. L’utilisation courante de ce constructeur consiste à spécifier une chaîne en tant que paramètre au lieu de créer un nouveau XName.

Lors de la création d’un élément dans un espace de noms, l’utilisation courante consiste à utiliser la surcharge de l’opérateur d’addition avec un XNamespace et une chaîne pour créer un XName. Pour plus d’informations, consultez Utiliser des espaces de noms XML.

XElement(XElement)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

Initialise une nouvelle instance de la classe XElement à partir d'un autre objet XElement.

public:
 XElement(System::Xml::Linq::XElement ^ other);
public XElement (System.Xml.Linq.XElement other);
new System.Xml.Linq.XElement : System.Xml.Linq.XElement -> System.Xml.Linq.XElement
Public Sub New (other As XElement)

Paramètres

other
XElement

Objet XElement à partir duquel effectuer la copie.

Exemples

L’exemple suivant crée une arborescence XML, crée un clone de l’arborescence, puis appelle DeepEquals, qui teste si les deux arborescences XML sont égales.

XElement xmlTree = new XElement("Root",
    new XAttribute("Att1", 1),
    new XElement("Child1", 1),
    new XElement("Child2", 2)
);

// Create a clone of the tree.
XElement treeClone = new XElement(xmlTree);

Console.WriteLine("xmlTree = treeClone: {0}", XNode.DeepEquals(xmlTree, treeClone));

// Do some work with xmlTree, perhaps pass it to other methods.
xmlTree.Add(new XElement("Child3", 3));

Console.WriteLine("xmlTree = treeClone: {0}", XNode.DeepEquals(xmlTree, treeClone));
Dim xmlTree As XElement = _
        <Root Att1="1">
            <Child1>1</Child1>
            <Child2>2</Child2>
        </Root>

' Create a clone of the tree.
Dim treeClone As XElement = New XElement(xmlTree)

Console.WriteLine("xmlTree = treeClone: {0}", XNode.DeepEquals(xmlTree, treeClone))

' Do some work with xmlTree, perhaps pass it to other methods.
xmlTree.Add(New XElement("Child3", 3))

Console.WriteLine("xmlTree = treeClone: {0}", XNode.DeepEquals(xmlTree, treeClone))

Cet exemple produit la sortie suivante :

xmlTree = treeClone: True
xmlTree = treeClone: False

Remarques

Ce constructeur effectue une copie complète d’un élément.

Voir aussi

S’applique à

XElement(XName)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

Initialise une nouvelle instance de la classe XElement avec le nom spécifié.

public:
 XElement(System::Xml::Linq::XName ^ name);
public XElement (System.Xml.Linq.XName name);
new System.Xml.Linq.XElement : System.Xml.Linq.XName -> System.Xml.Linq.XElement
Public Sub New (name As XName)

Paramètres

name
XName

XName qui contient le nom de l'élément.

Exemples

L’exemple suivant crée un élément sans contenu.

XElement el = new XElement("Root");
Console.WriteLine(el);
Dim el As XElement = <Root/>
Console.WriteLine(el)

Cet exemple produit la sortie suivante :

<Root />

L’exemple suivant crée un élément dans un espace de noms sans contenu. Pour plus d’informations, consultez Utiliser des espaces de noms XML.

XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root");
Console.WriteLine(root);
Imports <xmlns="http://www.adventure-works.com">

Module Module1
    Sub Main()
        Dim root = <Root/>
        Console.WriteLine(root)
    End Sub
End Module

Cet exemple produit la sortie suivante :

<Root xmlns="http://www.adventure-works.com" />

Remarques

Ce constructeur crée un élément sans contenu ni attributs.

Il existe une conversion implicite de chaîne en XName. L’utilisation courante de ce constructeur consiste à spécifier une chaîne en tant que paramètre au lieu de créer un nouveau XName. Lors de la création d’un élément dans un espace de noms, l’utilisation courante consiste à utiliser la surcharge de l’opérateur d’addition avec un XNamespace et une chaîne pour créer un XName. Pour plus d’informations, consultez Utiliser des espaces de noms XML.

Voir aussi

S’applique à

XElement(XStreamingElement)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

Initialise une nouvelle instance de la classe XElement à partir d'un objet XStreamingElement.

public:
 XElement(System::Xml::Linq::XStreamingElement ^ other);
public XElement (System.Xml.Linq.XStreamingElement other);
new System.Xml.Linq.XElement : System.Xml.Linq.XStreamingElement -> System.Xml.Linq.XElement
Public Sub New (other As XStreamingElement)

Paramètres

other
XStreamingElement

XStreamingElement qui contient des requêtes non évaluées qui seront itérées pour rechercher le contenu de ce XElement.

Exemples

L’exemple suivant crée une arborescence XML source, puis crée un à partir d’une XStreamingElement requête sur l’arborescence XML source. Il sérialise ensuite dans XStreamingElement la console, ajoute un nouvel élément à l’arborescence XML source, puis sérialise à nouveau.XStreamingElement Vous pouvez voir que l’élément nouvellement ajouté à l’arborescence XML source n’est pas inclus dans la première sérialisation, mais est inclus dans la seconde.

XElement src = new XElement("Root",
                   new XElement("Child1", 1),
                   new XElement("Child2", 2),
                   new XElement("Child3", 3)
               );
XStreamingElement xse = new XStreamingElement("NewRoot",
                            from el in src.Elements()
                            where (int)el >= 2
                            select el
                        );
Console.WriteLine(xse);
src.Add(new XElement("Child4", 4));
Console.WriteLine("----");
Console.WriteLine(xse);
Dim src As XElement = _
        <Root>
            <Child1>1</Child1>
            <Child2>2</Child2>
            <Child3>3</Child3>
        </Root>
Dim xse As XStreamingElement = New XStreamingElement("NewRoot", _
        From el In src.Elements() _
        Where (CInt(el) >= 2) _
        Select el _
)
Console.WriteLine(xse)
src.Add(New XElement("Child4", 4))
Console.WriteLine("----")
Console.WriteLine(xse)

Cet exemple produit la sortie suivante :

<NewRoot>
  <Child2>2</Child2>
  <Child3>3</Child3>
</NewRoot>
----
<NewRoot>
  <Child2>2</Child2>
  <Child3>3</Child3>
  <Child4>4</Child4>
</NewRoot>

Remarques

Ce constructeur itère dans le contenu du spécifié XStreamingElementet crée un élément avec son contenu.

Voir aussi

S’applique à

XElement(XName, Object)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

Initialise une nouvelle instance de la classe XElement avec le nom et le contenu spécifiés.

public:
 XElement(System::Xml::Linq::XName ^ name, System::Object ^ content);
public XElement (System.Xml.Linq.XName name, object content);
public XElement (System.Xml.Linq.XName name, object? content);
new System.Xml.Linq.XElement : System.Xml.Linq.XName * obj -> System.Xml.Linq.XElement
Public Sub New (name As XName, content As Object)

Paramètres

name
XName

XName qui contient le nom de l'élément.

content
Object

Contenu de l'élément.

Exemples

L’exemple suivant crée une arborescence XML. Le contenu du nouvel élément provient d’une requête 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 xmlTree2 = new XElement("Root",
    from el in xmlTree1.Elements()
    where((int)el >= 3 && (int)el <= 5)
    select el
);
Console.WriteLine(xmlTree2);
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 xmlTree2 As XElement = _
    <Root>
        <%= From el In xmlTree1.Elements() _
            Where el.Value >= 3 And el.Value <= 5 _
            Select el %>
    </Root>

Console.WriteLine(xmlTree2)

Cet exemple produit la sortie suivante :

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

L’exemple suivant crée une arborescence XML avec différents types de contenu.

XElement root;

// String content:
root = new XElement("Root", "Some text");
Console.WriteLine(root);

// XElement object content:
root = new XElement("Root",
    new XElement("NewChild", "n")
);
Console.WriteLine(root);

// XAttribute object content:
root = new XElement("Root",
    new XAttribute("NewAttribute", "n")
);
Console.WriteLine(root);

// Double content:
double dbl = 12.345;
root = new XElement("Root", dbl);
Console.WriteLine(root);

// DateTime content:
DateTime dt = new DateTime(2006, 10, 6, 12, 30, 00);
root = new XElement("Root", dt);
Console.WriteLine(root);

// String array content:
// 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 = new XElement("Root", stringArray);
Console.WriteLine(root);

// XElement object array content:
XElement[] ellArray = {
    new XElement("NewChild1", 1),
    new XElement("NewChild2", 2),
    new XElement("NewChild3", 3)
};
root = new XElement("Root", ellArray);
Console.WriteLine(root);

// XAttribute object array content:
XAttribute[] attArray = {
    new XAttribute("NewAtt1", 1),
    new XAttribute("NewAtt2", 2),
    new XAttribute("NewAtt3", 3)
};
root = new XElement("Root", attArray);
Console.WriteLine(root);
Dim root As XElement

' String content:
root = <Root>Some text</Root>
Console.WriteLine(root)

' XElement object content:
root = <Root>
           <NewChild>n</NewChild>
       </Root>
Console.WriteLine(root)

' XAttribute object content:
root = <Root NewAttribute="n"/>
Console.WriteLine(root)

' Double content:
Dim dbl As Double = 12.345
root = <Root><%= dbl %></Root>
Console.WriteLine(root)

' DateTime content:
Dim dt As DateTime = New DateTime(2006, 10, 6, 12, 30, 0)
root = <Root><%= dt %></Root>
Console.WriteLine(root)

' String array content:
' 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 = <Root><%= stringArray %></Root>
Console.WriteLine(root)

' XElement object array content:
Dim ellArray As XElement() = { _
    <NewChild1>1</NewChild1>, _
    <NewChild2>2</NewChild2>, _
    <NewChild3>3</NewChild3> _
}

root = <Root><%= ellArray %></Root>
Console.WriteLine(root)

' XAttribute object array content
Dim attArray As XAttribute() = { _
    New XAttribute("NewAtt1", 1), _
    New XAttribute("NewAtt2", 2), _
    New XAttribute("NewAtt3", 3) _
}
root = <Root><%= attArray %></Root>
Console.WriteLine(root)

Cet exemple produit la sortie suivante :

<Root>Some text</Root>
<Root>
  <NewChild>n</NewChild>
</Root>
<Root NewAttribute="n" />
<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" />

L’exemple suivant crée une arborescence XML dans un espace de noms.

// Create an XML tree in a namespace.
XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root",
    new XElement(aw + "Child", "child content")
);
Console.WriteLine(root);
' Create an XML tree in a namespace.
Dim root As XElement = _
    <Root xmlns='http://www.adventure-works.com'>
        <Child>child content</Child>
    </Root>
Console.WriteLine(root)

Cet exemple produit la sortie suivante :

<Root xmlns="http://www.adventure-works.com">
  <Child>child content</Child>
</Root>

L’exemple suivant crée une arborescence XML avec des espaces de noms imbriqués.

// Create an XML tree with nested namespaces.
XNamespace aw = "http://www.adventure-works.com";
XNamespace fc = "www.fourthcoffee.com";
XDocument root = new XDocument(
    new XDeclaration("1.0", "utf-8", "yes"),
    new XElement(aw + "Root",
        new XElement(fc + "Child",
            new XElement(aw + "DifferentChild", "other content")
        )
    )
);
Console.WriteLine(root);
' Create an XML tree with nested namespaces.
Dim root As XDocument = _
    <?xml version='1.0'?>
    <Root xmlns='http://www.adventure-works.com'>
        <Child xmlns='www.fourthcoffee.com'>
        <DifferentChild xmlns='http://www.adventure-works.com'>other content</DifferentChild>
        </Child>
    </Root>
Console.WriteLine(root)

Cet exemple produit la sortie suivante :

<Root xmlns="http://www.adventure-works.com">
  <Child xmlns="www.fourthcoffee.com">
    <DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
  </Child>
</Root>

Remarques

Ce constructeur crée un élément avec le contenu et les attributs spécifiés.

Il existe une conversion implicite de chaîne en XName. L’utilisation courante de ce constructeur consiste à spécifier une chaîne en tant que paramètre au lieu de créer un nouveau XName.

Lors de la création d’un élément dans un espace de noms, l’utilisation courante consiste à utiliser la surcharge de l’opérateur d’addition avec un XNamespace et une chaîne pour créer un XName. Pour plus d’informations, consultez Utiliser des espaces de noms XML.

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

Voir aussi

S’applique à

XElement(XName, Object[])

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

Initialise une nouvelle instance de la classe XElement avec le nom et le contenu spécifiés.

public:
 XElement(System::Xml::Linq::XName ^ name, ... cli::array <System::Object ^> ^ content);
public XElement (System.Xml.Linq.XName name, params object[] content);
public XElement (System.Xml.Linq.XName name, params object?[] content);
new System.Xml.Linq.XElement : System.Xml.Linq.XName * obj[] -> System.Xml.Linq.XElement
Public Sub New (name As XName, ParamArray content As Object())

Paramètres

name
XName

XName qui contient le nom de l'élément.

content
Object[]

Contenu initial de l'élément.

Exemples

L’exemple suivant crée une arborescence XML. Le contenu du nouvel élément provient d’une requête 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 xmlTree2 = new XElement("Root",
    from el in xmlTree1.Elements()
    where((int)el >= 3 && (int)el <= 5)
    select el
);
Console.WriteLine(xmlTree2);
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 xmlTree2 As XElement = _
    <Root>
        <%= From el In xmlTree1.Elements() _
            Where el.Value >= 3 And el.Value <= 5 _
            Select el %>
    </Root>

Console.WriteLine(xmlTree2)

Cet exemple produit la sortie suivante :

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

L’exemple suivant crée une arborescence XML avec différents types de contenu.

XElement root;

// String content:
root = new XElement("Root", "Some text");
Console.WriteLine(root);

// XElement object content:
root = new XElement("Root",
    new XElement("NewChild", "n")
);
Console.WriteLine(root);

// XAttribute object content:
root = new XElement("Root",
    new XAttribute("NewAttribute", "n")
);
Console.WriteLine(root);

// Double content:
double dbl = 12.345;
root = new XElement("Root", dbl);
Console.WriteLine(root);

// DateTime content:
DateTime dt = new DateTime(2006, 10, 6, 12, 30, 00);
root = new XElement("Root", dt);
Console.WriteLine(root);

// String array content:
// 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 = new XElement("Root", stringArray);
Console.WriteLine(root);

// XElement object array content:
XElement[] ellArray = {
    new XElement("NewChild1", 1),
    new XElement("NewChild2", 2),
    new XElement("NewChild3", 3)
};
root = new XElement("Root", ellArray);
Console.WriteLine(root);

// XAttribute object array content:
XAttribute[] attArray = {
    new XAttribute("NewAtt1", 1),
    new XAttribute("NewAtt2", 2),
    new XAttribute("NewAtt3", 3)
};
root = new XElement("Root", attArray);
Console.WriteLine(root);
Dim root As XElement

' String content:
root = <Root>Some text</Root>
Console.WriteLine(root)

' XElement object content:
root = <Root>
           <NewChild>n</NewChild>
       </Root>
Console.WriteLine(root)

' XAttribute object content:
root = <Root NewAttribute="n"/>
Console.WriteLine(root)

' Double content:
Dim dbl As Double = 12.345
root = <Root><%= dbl %></Root>
Console.WriteLine(root)

' DateTime content:
Dim dt As DateTime = New DateTime(2006, 10, 6, 12, 30, 0)
root = <Root><%= dt %></Root>
Console.WriteLine(root)

' String array content:
' 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 = <Root><%= stringArray %></Root>
Console.WriteLine(root)

' XElement object array content:
Dim ellArray As XElement() = { _
    <NewChild1>1</NewChild1>, _
    <NewChild2>2</NewChild2>, _
    <NewChild3>3</NewChild3> _
}

root = <Root><%= ellArray %></Root>
Console.WriteLine(root)

' XAttribute object array content
Dim attArray As XAttribute() = { _
    New XAttribute("NewAtt1", 1), _
    New XAttribute("NewAtt2", 2), _
    New XAttribute("NewAtt3", 3) _
}
root = <Root><%= attArray %></Root>
Console.WriteLine(root)

Cet exemple produit la sortie suivante :

<Root>Some text</Root>
<Root>
  <NewChild>n</NewChild>
</Root>
<Root NewAttribute="n" />
<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" />

L’exemple suivant crée une arborescence XML dans un espace de noms.

// Create an XML tree in a namespace.
XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root",
    new XElement(aw + "Child", "child content")
);
Console.WriteLine(root);
' Create an XML tree in a namespace.
Dim root As XElement = _
    <Root xmlns='http://www.adventure-works.com'>
        <Child>child content</Child>
    </Root>
Console.WriteLine(root)

Cet exemple produit la sortie suivante :

<Root xmlns="http://www.adventure-works.com">
  <Child>child content</Child>
</Root>

L’exemple suivant crée une arborescence XML avec des espaces de noms imbriqués.

// Create an XML tree with nested namespaces.
XNamespace aw = "http://www.adventure-works.com";
XNamespace fc = "www.fourthcoffee.com";
XElement root = new XElement(aw + "Root",
    new XElement(fc + "Child",
        new XElement(aw + "DifferentChild", "other content")
    )
);
Console.WriteLine(root);
' Create an XML tree with nested namespaces.
Dim root As XDocument = _
    <?xml version='1.0'?>
    <Root xmlns='http://www.adventure-works.com'>
        <Child xmlns='www.fourthcoffee.com'>
        <DifferentChild xmlns='http://www.adventure-works.com'>other content</DifferentChild>
        </Child>
    </Root>
Console.WriteLine(root)

Cet exemple produit la sortie suivante :

<Root xmlns="http://www.adventure-works.com">
  <Child xmlns="www.fourthcoffee.com">
    <DifferentChild xmlns="http://www.adventure-works.com">other content</DifferentChild>
  </Child>
</Root>

Remarques

Ce constructeur crée un élément avec le contenu et les attributs spécifiés.

Il existe une conversion implicite de chaîne en XName. L’utilisation courante de ce constructeur consiste à spécifier une chaîne en tant que paramètre au lieu de créer un nouveau XName.

Lors de la création d’un élément dans un espace de noms, l’utilisation courante consiste à utiliser la surcharge de l’opérateur d’addition avec un XNamespace et une chaîne pour créer un XName. Pour plus d’informations, consultez Utiliser des espaces de noms XML.

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

Voir aussi

S’applique à