Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Constructor XElement (XName, Object)

 

Publicado: octubre de 2016

Inicializa una nueva instancia de la XElement clase con el nombre especificado y el contenido.

Espacio de nombres:   System.Xml.Linq
Ensamblado:  System.Xml.Linq (en System.Xml.Linq.dll)

public XElement(
	XName name,
	object content
)

Parámetros

name
Type: System.Xml.Linq.XName

Un XName que contiene el nombre del elemento.

content
Type: System.Object

Contenido del elemento.

Este constructor crea un elemento con los atributos y el contenido especificado.

Hay una conversión implícita de cadena a XName. Un uso típico de este constructor es especificar una cadena como parámetro en lugar de crear un nuevo XName.

Al crear un elemento en un espacio de nombres, el uso típico es usar la sobrecarga del operador de suma con un XNamespace y una cadena para crear un XName. Para obtener más información, consulta Trabajar con espacios de nombres XML.

Para obtener más información sobre el contenido válido que se puede pasar a este constructor, vea Contenido válido de XElement y XDocument Objects1.

En el ejemplo siguiente se crea un árbol XML. El contenido del nuevo elemento proviene de una consulta 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);

Este ejemplo produce el siguiente resultado:


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


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

Este ejemplo produce el siguiente resultado:


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


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

Este ejemplo produce el siguiente resultado:


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


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

Este ejemplo produce el siguiente resultado:


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

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 3.5
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: