XAttribute 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 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
或 value
参数为 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
可以是 、、double
、float
、bool
decimal
、 DateTime或 TimeSpan。String 如果值为 DateTime 或 TimeSpan,则根据 W3C 规范正确设置 属性的值的格式。