XAttribute Konstruktorer

Definition

Initierar en ny instans av XAttribute klassen.

Överlagringar

Name Description
XAttribute(XAttribute)

Initierar en ny instans av XAttribute klassen från ett annat XAttribute objekt.

XAttribute(XName, Object)

Initierar en ny instans av XAttribute klassen från det angivna namnet och värdet.

XAttribute(XAttribute)

Källa:
XAttribute.cs
Källa:
XAttribute.cs
Källa:
XAttribute.cs
Källa:
XAttribute.cs
Källa:
XAttribute.cs

Initierar en ny instans av XAttribute klassen från ett annat 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)

Parametrar

other
XAttribute

Ett XAttribute objekt att kopiera från.

Undantag

Parametern other är null.

Exempel

Det här exemplet visar att skapa en djup kopia av ett XML-träd skapar en kopia, inte en klon, av ett attribut i trädet.

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

Det här exemplet genererar följande utdata:

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

Kommentarer

Den här konstruktorn används främst internt när du gör en djup kopia av ett XML-träd.

Se även

Gäller för

XAttribute(XName, Object)

Källa:
XAttribute.cs
Källa:
XAttribute.cs
Källa:
XAttribute.cs
Källa:
XAttribute.cs
Källa:
XAttribute.cs

Initierar en ny instans av XAttribute klassen från det angivna namnet och värdet.

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)

Parametrar

name
XName

Attributets XName .

value
Object

Ett Object som innehåller attributets värde.

Undantag

Parametern name eller value är null.

Exempel

I följande exempel används den här konstruktorn för att skapa attribut. Den skickar strängar som det första argumentet till XAttribute konstruktorn, som sedan implicit konverteras till XName objekt. Attributen läggs till i ett element.

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)

Det här exemplet genererar följande utdata:

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

Kommentarer

Det finns en implicit konvertering från sträng till XName. Typisk användning av den här konstruktorn är att ange en sträng som den första parametern i stället för att skapa en ny XName, enligt följande:

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

Du kan också använda additionsoperatorns överlagring med en XNamespace och en sträng för att skapa en XName, enligt följande:

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

Mer information finns i Arbeta med XML-namnområden.

Samma metoder fungerar för Visual Basic, men XML-literaler ger en bättre metod för att skapa XML-träd.

Parametern value kan vara , Stringdouble, float, decimal, bool, DateTimeeller TimeSpan. Om värdet är en DateTime eller TimeSpanformateras värdet för attributet korrekt enligt W3C-specifikationerna.

Se även

Gäller för