XAttribute Construtores

Definição

Inicializa uma nova instância da classe XAttribute.

Sobrecargas

Nome Description
XAttribute(XAttribute)

Inicializa uma nova instância da classe de XAttribute outro XAttribute objeto.

XAttribute(XName, Object)

Inicializa uma nova instância da classe do XAttribute nome e do valor especificados.

XAttribute(XAttribute)

Inicializa uma nova instância da classe de XAttribute outro XAttribute objeto.

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

Um XAttribute objeto do qual copiar.

Exceções

O other parâmetro é null.

Exemplos

Este exemplo demonstra que a criação de uma cópia profunda de uma árvore XML cria uma cópia, não um clone, de um atributo na árvore.

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 exemplo produz a seguinte saída:

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

Comentários

Esse construtor é usado principalmente internamente ao fazer uma cópia profunda de uma árvore XML.

Confira também

Aplica-se a

XAttribute(XName, Object)

Inicializa uma nova instância da classe do XAttribute nome e do 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

O XName atributo.

value
Object

Um Object que contém o valor do atributo.

Exceções

O name parâmetro ou value o parâmetro é null.

Exemplos

O exemplo a seguir usa esse construtor para criar atributos. Ele passa cadeias de caracteres como o primeiro argumento para o XAttribute construtor, que são convertidos implicitamente em XName objetos. Os atributos são adicionados a um 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 exemplo produz a seguinte saída:

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

Comentários

Há uma conversão implícita de cadeia de caracteres para XName. O uso típico desse construtor é especificar uma cadeia de caracteres como o primeiro parâmetro em vez de criar um novo XName, da seguinte maneira:

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

Você também pode usar a sobrecarga do operador de adição com uma cadeia de caracteres e uma XNamespace cadeia de caracteres para criar uma XName, da seguinte maneira:

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

Para obter mais informações, consulte Trabalhar com namespaces XML.

Essas mesmas abordagens funcionarão para Visual Basic, no entanto, literais XML fornecem uma abordagem melhor para criar árvores XML.

O value parâmetro pode ser umString, , double, float, decimal, bool, ou TimeSpanDateTime. Se o valor for um DateTime ou TimeSpan, o valor do atributo será formatado corretamente de acordo com as especificações do W3C.

Confira também

Aplica-se a