XAttribute Costruttori

Definizione

Inizializza una nuova istanza della classe XAttribute.

Overload

XAttribute(XAttribute)

Inizializza una nuova istanza della classe XAttribute con un altro oggetto XAttribute.

XAttribute(XName, Object)

Inizializza una nuova istanza della classe XAttribute dal nome e dal valore specificato.

XAttribute(XAttribute)

Origine:
XAttribute.cs
Origine:
XAttribute.cs
Origine:
XAttribute.cs

Inizializza una nuova istanza della classe XAttribute con un altro oggetto 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)

Parametri

other
XAttribute

Oggetto XAttribute da cui copiare.

Eccezioni

Il valore del parametro other è null.

Esempio

In questo esempio viene illustrato che la creazione di una copia completa di un albero XML crea una copia, non un clone, di un attributo nell'albero.

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  

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Questo costruttore viene utilizzato internamente quando si esegue una copia completa di un albero XML.

Vedi anche

Si applica a

XAttribute(XName, Object)

Origine:
XAttribute.cs
Origine:
XAttribute.cs
Origine:
XAttribute.cs

Inizializza una nuova istanza della classe XAttribute dal nome e dal valore specificato.

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)

Parametri

name
XName

XName dell'attributo.

value
Object

Object contenente il valore dell'attributo.

Eccezioni

Il parametro name o il parametro value è null.

Esempio

Nell'esempio seguente viene usato questo costruttore per creare attributi. Passa stringhe come primo argomento al XAttribute costruttore, che vengono quindi convertite in modo implicito in XName oggetti . Gli attributi vengono aggiunti 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)  

Nell'esempio viene prodotto l'output seguente:

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

Commenti

Esiste una conversione implicita da stringa a XName. L'uso tipico di questo costruttore consiste nel specificare una stringa come primo parametro anziché creare un nuovo XName, come indicato di seguito:

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

È anche possibile usare l'overload dell'operatore di addizione con un XNamespace oggetto e una stringa per creare un XNameoggetto , come indicato di seguito:

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

Per altre informazioni, vedere Usare spazi dei nomi XML.

Questi stessi approcci funzioneranno per Visual Basic, ma i valori letterali XML offrono un approccio migliore per la creazione di alberi XML.

Il value parametro può essere String, double, float, decimal, bool, DateTimeo TimeSpan. Se il valore è o DateTimeTimeSpan, il valore dell'attributo viene formattato correttamente in base alle specifiche W3C.

Vedi anche

Si applica a