XAttribute Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy XAttribute.

Przeciążenia

XAttribute(XAttribute)

Inicjuje XAttribute nowe wystąpienie klasy z innego XAttribute obiektu.

XAttribute(XName, Object)

Inicjuje XAttribute nowe wystąpienie klasy z określonej nazwy i wartości.

XAttribute(XAttribute)

Inicjuje XAttribute nowe wystąpienie klasy z innego XAttribute obiektu.

C#
public XAttribute (System.Xml.Linq.XAttribute other);

Parametry

other
XAttribute

XAttribute Obiekt do skopiowania.

Wyjątki

Parametr other to null.

Przykłady

W tym przykładzie pokazano, że utworzenie głębokiej kopii drzewa XML powoduje utworzenie kopii, a nie klonowania atrybutu w drzewie.

C#
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.");  

Ten przykład generuje następujące wyniki:

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

Uwagi

Ten konstruktor jest używany wewnętrznie podczas tworzenia głębokiej kopii drzewa XML.

Zobacz też

Dotyczy

.NET 7 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

XAttribute(XName, Object)

Inicjuje XAttribute nowe wystąpienie klasy z określonej nazwy i wartości.

C#
public XAttribute (System.Xml.Linq.XName name, object value);

Parametry

name
XName

Atrybut XName .

value
Object

Element Object zawierający wartość atrybutu.

Wyjątki

Parametr name or value to null.

Przykłady

W poniższym przykładzie użyto tego konstruktora do utworzenia atrybutów. Przekazuje ciągi jako pierwszy argument do konstruktora XAttribute , który następnie jest niejawnie konwertowany na XName obiekty. Atrybuty są dodawane do elementu.

C#
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);  

Ten przykład generuje następujące wyniki:

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

Uwagi

Istnieje niejawna konwersja z ciągu na XName. Typowym zastosowaniem tego konstruktora jest określenie ciągu jako pierwszego parametru zamiast tworzenia nowego XName, w następujący sposób:

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

Można również użyć przeciążenia operatora dodawania z XNamespace ciągiem i w celu utworzenia elementu XNamew następujący sposób:

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

Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.

Te same podejścia będą działać w przypadku Visual Basic, jednak literały XML zapewniają lepsze podejście do tworzenia drzew XML.

Parametr value może być parametrem String, , double, decimal``float, bool, lub DateTimeTimeSpan. Jeśli wartość to DateTime lub TimeSpan, wartość atrybutu jest poprawnie sformatowana zgodnie ze specyfikacjami W3C.

Zobacz też

Dotyczy

.NET 7 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0