Compartir vía


XAttribute Constructores

Definición

Inicializa una nueva instancia de la clase XAttribute.

Sobrecargas

XAttribute(XAttribute)

Inicializa una nueva instancia de la clase XAttribute a partir de otro objeto XAttribute.

XAttribute(XName, Object)

Inicializa una nueva instancia de la clase XAttribute a partir del nombre y el valor especificados.

XAttribute(XAttribute)

Source:
XAttribute.cs
Source:
XAttribute.cs
Source:
XAttribute.cs

Inicializa una nueva instancia de la clase XAttribute a partir de otro objeto XAttribute.

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

Parámetros

other
XAttribute

Objeto XAttribute desde el que se va a copiar.

Excepciones

El parámetro other es null.

Ejemplos

En este ejemplo se muestra que la creación de una copia profunda de un árbol XML crea una copia, no un clon, de un atributo en el árbol.

XElement root1 = XElement.Parse("<Root Att1='abc' />");  
// Make a deep copy.  
XElement root2 = new XElement(root1);  
if (root1.Attribute("Att1") == root2.Attribute("Att1"))  
    Console.WriteLine("This will not be printed");  
else  
    Console.WriteLine("Creating a deep copy created a new attribute from the original.");  
Dim root1 As XElement = <Root Att1='abc'/>  
' Make a deep copy.  
Dim root2 As XElement = New XElement(root1)  
If root1.Attribute("Att1") Is root2.Attribute("Att1") Then  
    Console.WriteLine("This will not be printed")  
Else  
    Console.WriteLine("Creating a deep copy created a new attribute from the original.")  
End If  

Este ejemplo produce el siguiente resultado:

Creating a deep copy created a new attribute from the original.  

Comentarios

Este constructor se usa principalmente internamente al realizar una copia en profundidad de un árbol XML.

Consulte también

Se aplica a

XAttribute(XName, Object)

Source:
XAttribute.cs
Source:
XAttribute.cs
Source:
XAttribute.cs

Inicializa una nueva instancia de la clase XAttribute a partir del nombre y el valor especificados.

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

Parámetros

name
XName

XName del atributo.

value
Object

Object que contiene el valor del atributo.

Excepciones

El parámetro name o value es null.

Ejemplos

En el ejemplo siguiente se usa este constructor para crear atributos. Pasa cadenas como primer argumento al XAttribute constructor, que luego se convierten implícitamente en XName objetos. Los atributos se agregan a un elemento .

XElement root;  

double dbl = 12.345;  
XAttribute[] attArray = {  
    new XAttribute("Att4", 1),  
    new XAttribute("Att5", 2),  
    new XAttribute("Att6", 3)  
};  
DateTime dt = new DateTime(2006, 10, 6, 12, 30, 00);  

// string content  
root = new XElement("Root",  
    new XAttribute("Att1", "Some text"),  

    // double content  
    new XAttribute("Att2", dbl),  

    // DateTime content  
    new XAttribute("Att3", dt),  

    // XAttribute array content  
    attArray  
);  

Console.WriteLine(root);  
Dim dbl As Double = 12.345  
Dim attArray As XAttribute() = { _  
    New XAttribute("Att4", 1), _  
    New XAttribute("Att5", 2), _  
    New XAttribute("Att6", 3) _  
}  
Dim dt As DateTime = New DateTime(2006, 10, 6, 12, 30, 0)  
Dim root As XElement = <Root Att1="Some text"  
                           Att2=<%= dbl %>  
                           Att3=<%= dt %>  
                           <%= attArray %>  
                       />  
Console.WriteLine(root)  

Este ejemplo produce el siguiente resultado:

<Root Att1="Some text" Att2="12.345" Att3="2006-10-06T12:30:00" Att4="1" Att5="2" Att6="3" />  

Comentarios

Hay una conversión implícita de cadena a XName. El uso típico de este constructor es especificar una cadena como primer parámetro en lugar de crear un nuevo XName, como se indica a continuación:

XElement root = new XElement("Root",  
    new XAttribute("AnAttributeName", "Content")  
);  

También puede usar la sobrecarga del operador de suma con y XNamespace una cadena para crear , XNamecomo se indica a continuación:

XNamespace aw = "http://www.adventure-works.com";  
XElement root = new XElement(aw + "Root",  
    new XAttribute(aw + "AnAttributeName", "Content")  
);  

Para obtener más información, vea Trabajar con espacios de nombres XML.

Estos mismos enfoques funcionarán para Visual Basic, pero los literales XML proporcionan un mejor enfoque para crear árboles XML.

El value parámetro puede ser , String, doublefloatdecimal, bool, , DateTimeo .TimeSpan Si el valor es o DateTimeTimeSpan, el valor del atributo tiene el formato correcto según las especificaciones W3C.

Consulte también

Se aplica a