XAttribute 构造函数

定义

初始化 XAttribute 类的新实例。

重载

XAttribute(XAttribute)

从其他 XAttribute 对象初始化 XAttribute 类的新实例。

XAttribute(XName, Object)

从指定的名称和值初始化 XAttribute 类的新实例。

XAttribute(XAttribute)

Source:
XAttribute.cs
Source:
XAttribute.cs
Source:
XAttribute.cs

从其他 XAttribute 对象初始化 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)

参数

other
XAttribute

要从其复制的 XAttribute 对象。

例外

other 参数为 null

示例

此示例演示创建 XML 树的深层副本会在树中创建属性的副本,而不是克隆。

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  

该示例产生下面的输出:

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

注解

生成 XML 树的深层副本时,此构造函数主要在内部使用。

另请参阅

适用于

XAttribute(XName, Object)

Source:
XAttribute.cs
Source:
XAttribute.cs
Source:
XAttribute.cs

从指定的名称和值初始化 XAttribute 类的新实例。

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)

参数

name
XName

属性的 XName

value
Object

一个包含属性值的 Object

例外

namevalue 参数为 null

示例

以下示例使用此构造函数创建属性。 它将字符串作为第一个参数传递给 XAttribute 构造函数,然后将其隐式转换为 XName 对象。 属性将添加到 元素。

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)  

该示例产生下面的输出:

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

注解

存在从字符串到 XName的隐式转换。 此构造函数的典型用途是将字符串指定为第一个参数,而不是创建新的 XName,如下所示:

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

还可以使用加法运算符重载 XNamespace 和字符串来创建 XName,如下所示:

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

有关详细信息,请参阅 使用 XML 命名空间

这些相同的方法适用于 Visual Basic,但 XML 文本提供了一种更好的方法来创建 XML 树。

参数value可以是 、、doublefloatbooldecimalDateTimeTimeSpanString 如果值为 DateTimeTimeSpan,则根据 W3C 规范正确设置 属性的值的格式。

另请参阅

适用于