Share via


XAttribute Constructeurs

Définition

Initialise une nouvelle instance de la classe XAttribute.

Surcharges

XAttribute(XAttribute)

Initialise une nouvelle instance de la classe XAttribute à partir d'un autre objet XAttribute.

XAttribute(XName, Object)

Initialise une nouvelle instance de la classe XAttribute à partir de la valeur et du nom spécifiés.

XAttribute(XAttribute)

Initialise une nouvelle instance de la classe XAttribute à partir d'un autre objet 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)

Paramètres

other
XAttribute

Objet XAttribute à partir duquel effectuer la copie.

Exceptions

Le paramètre other a la valeur null.

Exemples

Cet exemple montre que la création d’une copie approfondie d’une arborescence XML crée une copie, et non un clone, d’un attribut dans l’arborescence.

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  

Cet exemple produit la sortie suivante :

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

Remarques

Ce constructeur est principalement utilisé en interne lors de la création d’une copie approfondie d’une arborescence XML.

Voir aussi

S’applique à

XAttribute(XName, Object)

Initialise une nouvelle instance de la classe XAttribute à partir de la valeur et du nom spécifiés.

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)

Paramètres

name
XName

XName de l'attribut.

value
Object

Object contenant la valeur de l'attribut.

Exceptions

Le paramètre name ou value est null.

Exemples

L’exemple suivant utilise ce constructeur pour créer des attributs. Il transmet des chaînes comme premier argument au XAttribute constructeur, qui sont ensuite converties implicitement en XName objets. Les attributs sont ajoutés à un élément.

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)  

Cet exemple produit la sortie suivante :

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

Remarques

Il existe une conversion implicite de chaîne en XName. L’utilisation classique de ce constructeur consiste à spécifier une chaîne comme premier paramètre au lieu de créer un nouveau XName, comme suit :

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

Vous pouvez également utiliser la surcharge d’opérateur d’ajout avec une XNamespace chaîne et une chaîne pour créer un XName, comme suit :

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

Pour plus d’informations, consultez Utiliser des espaces de noms XML.

Ces mêmes approches fonctionneront pour Visual Basic, mais les littéraux XML fournissent une meilleure approche pour la création d’arborescences XML.

Le value paramètre peut être un String, , double, decimal``float, boolou DateTimeTimeSpan. Si la valeur est un DateTime ou TimeSpan, la valeur de l’attribut est correctement mise en forme conformément aux spécifications W3C.

Voir aussi

S’applique à