XAttribute Konstruktoren

Definition

Initialisiert eine neue Instanz der XAttribute-Klasse.

Überlädt

Name Beschreibung
XAttribute(XAttribute)

Initialisiert eine neue Instanz der XAttribute Klasse aus einem anderen XAttribute Objekt.

XAttribute(XName, Object)

Initialisiert eine neue Instanz der XAttribute Klasse aus dem angegebenen Namen und Wert.

XAttribute(XAttribute)

Quelle:
XAttribute.cs
Quelle:
XAttribute.cs
Quelle:
XAttribute.cs
Quelle:
XAttribute.cs
Quelle:
XAttribute.cs

Initialisiert eine neue Instanz der XAttribute Klasse aus einem anderen XAttribute Objekt.

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)

Parameter

other
XAttribute

Ein XAttribute Objekt, aus dem kopiert werden soll.

Ausnahmen

Der other Parameter ist null.

Beispiele

In diesem Beispiel wird veranschaulicht, dass das Erstellen einer tiefen Kopie einer XML-Struktur eine Kopie, keine Klonung eines Attributs in der Struktur erstellt.

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

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Hinweise

Dieser Konstruktor wird in erster Linie intern verwendet, wenn eine tiefe Kopie einer XML-Struktur erstellt wird.

Weitere Informationen

Gilt für:

XAttribute(XName, Object)

Quelle:
XAttribute.cs
Quelle:
XAttribute.cs
Quelle:
XAttribute.cs
Quelle:
XAttribute.cs
Quelle:
XAttribute.cs

Initialisiert eine neue Instanz der XAttribute Klasse aus dem angegebenen Namen und Wert.

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)

Parameter

name
XName

Das XName Attribut.

value
Object

Ein Object Wert, der den Wert des Attributs enthält.

Ausnahmen

Der name Parameter ist valuenull.

Beispiele

Im folgenden Beispiel wird dieser Konstruktor zum Erstellen von Attributen verwendet. Es übergibt Zeichenfolgen als erstes Argument an den XAttribute Konstruktor, die dann implizit in XName Objekte konvertiert werden. Die Attribute werden einem Element hinzugefügt.

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)

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Hinweise

Es gibt eine implizite Konvertierung von Zeichenfolge in XName. Die typische Verwendung dieses Konstruktors besteht darin, eine Zeichenfolge als ersten Parameter anzugeben, anstatt wie folgt eine neue XNamezu erstellen:

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

Sie können auch die Additionsoperatorüberladung mit einer XNamespace und einer Zeichenfolge verwenden, um eine XName, wie folgt, zu erstellen:

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

Weitere Informationen finden Sie unter Arbeiten mit XML-Namespaces.

Diese Ansätze funktionieren für Visual Basic, XML-Literale bieten jedoch einen besseren Ansatz zum Erstellen von XML-Strukturen.

Der value Parameter kann ein String, double, , floatdecimal, , bool, oder DateTimeTimeSpan. Ist der Wert ein DateTime oder TimeSpan, wird der Wert des Attributs gemäß den W3C-Spezifikationen korrekt formatiert.

Weitere Informationen

Gilt für: