XElement Constructores

Definición

Inicializa una nueva instancia de la clase XElement.Initializes a new instance of the XElement class.

Sobrecargas

XElement(XElement)

Inicializa una nueva instancia de la clase XElement a partir de otro objeto XElement.Initializes a new instance of the XElement class from another XElement object.

XElement(XName)

Inicializa una nueva instancia de la clase XElement con el nombre especificado.Initializes a new instance of the XElement class with the specified name.

XElement(XStreamingElement)

Inicializa una nueva instancia de la clase XElement a partir de un objeto XStreamingElement.Initializes a new instance of the XElement class from an XStreamingElement object.

XElement(XName, Object)

Inicializa una nueva instancia de la clase XElement con el nombre y el contenido especificados.Initializes a new instance of the XElement class with the specified name and content.

XElement(XName, Object[])

Inicializa una nueva instancia de la clase XElement con el nombre y el contenido especificados.Initializes a new instance of the XElement class with the specified name and content.

Ejemplos

En el ejemplo siguiente se crea un árbol XML.The following example creates an XML tree. El contenido del nuevo elemento procede de una consulta LINQ.The content of the new element comes from a LINQ query.

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)  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Para obtener más información sobre el contenido válido que se puede pasar a este constructor, vea contenido válido de objetos XElement y XDocument.For details about the valid content that can be passed to this constructor, see Valid Content of XElement and XDocument Objects.

Hay una conversión implícita de String a XName .There is an implicit conversion from string to XName. El uso típico de este constructor es especificar una cadena como parámetro en lugar de crear una nueva XName .Typical use of this constructor is to specify a string as the parameter instead of creating a new XName.

Al crear un elemento en un espacio de nombres, el uso típico es usar la sobrecarga del operador de suma con XNamespace y una cadena para crear un XName .When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. Para obtener más información, vea trabajar con espacios de nombres XML.For more information, see Work with XML Namespaces.

XElement(XElement)

Inicializa una nueva instancia de la clase XElement a partir de otro objeto XElement.Initializes a new instance of the XElement class from another XElement object.

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)

Parámetros

other
XElement

Objeto XElement desde el que se va a copiar.An XElement object to copy from.

Ejemplos

En el ejemplo siguiente se crea un árbol XML, se crea un clon del árbol y, a continuación, se llama a DeepEquals , que comprueba si los dos árboles XML son iguales.The following example creates an XML tree, creates a clone of the tree, and then calls DeepEquals, which tests whether the two XML trees are equal.

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

Este ejemplo produce el siguiente resultado:This example produces the following output:

xmlTree = treeClone: True  
xmlTree = treeClone: False  

Comentarios

Este constructor realiza una copia en profundidad de un elemento.This constructor makes a deep copy of an element.

Se aplica a

XElement(XName)

Inicializa una nueva instancia de la clase XElement con el nombre especificado.Initializes a new instance of the XElement class with the specified name.

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)

Parámetros

name
XName

XName que contiene el nombre del elemento.An XName that contains the name of the element.

Ejemplos

En el ejemplo siguiente se crea un elemento sin contenido.The following example creates an element with no content.

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

Este ejemplo produce el siguiente resultado:This example produces the following output:

<Root />  

En el ejemplo siguiente se crea un elemento en un espacio de nombres sin contenido.The following example creates an element in a namespace with no content. Para obtener más información, vea trabajar con espacios de nombres XML.For more information, see Work with XML Namespaces.

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  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Este constructor crea un elemento sin contenido y sin atributos.This constructor creates an element with no content and no attributes.

Hay una conversión implícita de String a XName .There is an implicit conversion from string to XName. El uso típico de este constructor es especificar una cadena como parámetro en lugar de crear una nueva XName .Typical use of this constructor is to specify a string as the parameter instead of creating a new XName. Al crear un elemento en un espacio de nombres, el uso típico es usar la sobrecarga del operador de suma con XNamespace y una cadena para crear un XName .When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. Para obtener más información, vea trabajar con espacios de nombres XML.For more information, see Work with XML Namespaces.

Se aplica a

XElement(XStreamingElement)

Inicializa una nueva instancia de la clase XElement a partir de un objeto XStreamingElement.Initializes a new instance of the XElement class from an XStreamingElement object.

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)

Parámetros

other
XStreamingElement

XStreamingElement que contiene consultas no evaluadas que se recorrerán en iteración para el contenido de este XElement.An XStreamingElement that contains unevaluated queries that will be iterated for the contents of this XElement.

Ejemplos

En el ejemplo siguiente se crea un árbol XML de origen y, a continuación, se crea un a XStreamingElement partir de una consulta en el árbol XML de origen.The following example creates a source XML tree, and then creates an XStreamingElement from a query on the source XML tree. A continuación, serializa el XStreamingElement en la consola de, agrega un nuevo elemento al árbol XML de origen y, a continuación, serializa de XStreamingElement nuevo.It then serializes the XStreamingElement to the console, adds a new element to the source XML tree, and then serializes the XStreamingElement again. Puede ver que el elemento que se acaba de agregar al árbol XML de origen no se incluye en la primera serialización, pero que se incluye en el segundo.You can see that element newly added to the source XML tree is not included in the first serialization, but is included in the second.

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)  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Este constructor recorre en iteración el contenido del especificado XStreamingElement y crea un elemento con su contenido.This constructor iterates through the contents of the specified XStreamingElement, and creates an element with its contents.

Se aplica a

XElement(XName, Object)

Inicializa una nueva instancia de la clase XElement con el nombre y el contenido especificados.Initializes a new instance of the XElement class with the specified name and content.

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)

Parámetros

name
XName

XName que contiene el nombre del elemento.An XName that contains the element name.

content
Object

Contenido del elemento.The contents of the element.

Ejemplos

En el ejemplo siguiente se crea un árbol XML.The following example creates an XML tree. El contenido del nuevo elemento procede de una consulta LINQ.The content of the new element comes from a LINQ query.

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)  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

En el ejemplo siguiente se crea un árbol XML con una variedad de tipos de contenido.The following example creates an XML tree with a variety of types of content.

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)  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

En el ejemplo siguiente se crea un árbol XML en un espacio de nombres.The following example creates an XML tree in a namespace.

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

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

En el ejemplo siguiente se crea un árbol XML con espacios de nombres anidados.The following example creates an XML tree with nested namespaces.

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

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Este constructor crea un elemento con el contenido y los atributos especificados.This constructor creates an element with the specified content and attributes.

Hay una conversión implícita de String a XName .There is an implicit conversion from string to XName. El uso típico de este constructor es especificar una cadena como parámetro en lugar de crear una nueva XName .Typical use of this constructor is to specify a string as the parameter instead of creating a new XName.

Al crear un elemento en un espacio de nombres, el uso típico es usar la sobrecarga del operador de suma con XNamespace y una cadena para crear un XName .When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. Para obtener más información, vea trabajar con espacios de nombres XML.For more information, see Work with XML Namespaces.

Para obtener más información sobre el contenido válido que se puede pasar a este constructor, vea contenido válido de objetos XElement y XDocument.For details about the valid content that can be passed to this constructor, see Valid Content of XElement and XDocument Objects.

Se aplica a

XElement(XName, Object[])

Inicializa una nueva instancia de la clase XElement con el nombre y el contenido especificados.Initializes a new instance of the XElement class with the specified name and content.

public:
 XElement(System::Xml::Linq::XName ^ name, ... cli::array <System::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())

Parámetros

name
XName

XName que contiene el nombre del elemento.An XName that contains the element name.

content
Object[]

Contenido inicial del elemento.The initial content of the element.

Ejemplos

En el ejemplo siguiente se crea un árbol XML.The following example creates an XML tree. El contenido del nuevo elemento procede de una consulta LINQ.The content of the new element comes from a LINQ query.

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)  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

En el ejemplo siguiente se crea un árbol XML con una variedad de tipos de contenido.The following example creates an XML tree with a variety of types of content.

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)  

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

En el ejemplo siguiente se crea un árbol XML en un espacio de nombres.The following example creates an XML tree in a namespace.

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

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

En el ejemplo siguiente se crea un árbol XML con espacios de nombres anidados.The following example creates an XML tree with nested namespaces.

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

Este ejemplo produce el siguiente resultado:This example produces the following output:

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

Comentarios

Este constructor crea un elemento con el contenido y los atributos especificados.This constructor creates an element with the specified content and attributes.

Hay una conversión implícita de String a XName .There is an implicit conversion from string to XName. El uso típico de este constructor es especificar una cadena como parámetro en lugar de crear una nueva XName .Typical use of this constructor is to specify a string as the parameter instead of creating a new XName.

Al crear un elemento en un espacio de nombres, el uso típico es usar la sobrecarga del operador de suma con XNamespace y una cadena para crear un XName .When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. Para obtener más información, vea trabajar con espacios de nombres XML.For more information, see Work with XML Namespaces.

Para obtener más información sobre el contenido válido que se puede pasar a este constructor, vea contenido válido de objetos XElement y XDocument.For details about the valid content that can be passed to this constructor, see Valid Content of XElement and XDocument Objects.

Se aplica a