XAttribute类表示XML文件中的一个属性,即表示一个名称/值对。在XML文件中,属性一般用于描述元素的特性,一个元素可以不包含属性,也可以包含一个或多个属性。
XAttribute类提供了多个属性获取或操作XML文件中的元素的属性,如获取属性名称的Name属性、获取属性的值的Value属性等。XAttribute类的属性如表11.3所示。
表 XAttribute类的属性
属 性 | 说 明 |
Name | 属性的名称。 |
Value | 属性的值。 |
NextAttribute | 其父元素的下一个属性。 |
PreviousAttribute | 其父元素的上一个属性。 |
NodeType | 节点的节点类型。 |
IsNamespaceDeclaration | 表示该属性是否为命名空间的声明。 |
EmptySequence | 空的属性集合。 |
另外,XAttribute类还提供了多个方法操作XML文件中的元素的属性,如设置属性的值的SetValue()方法、移除属性自身的Remove()方法等。XAttribute类的方法如表11.4所示。
表 XAttribute类的方法
方 法 | 说 明 |
Remove | 从其父元素中移除该属性。 |
SetValue() | 设置该属性的值。 |
下面的实例代码创建了名称为Advertisements的元素,并添加了两个子元素Ad。同时,还为Ad元素设置了ID属性、Name和Url元素及其值。具体步骤如下。
(1)创建Advertisements元素,并创建两个子元素Ad。其中,Ad元素包含了ID属性、Name和Url元素。第一个Ad元素的ID属性的值为1,第二个Ad元素的ID属性的值为2。
(2)使用网页显示Advertisements元素的内容。
(3)设置网页的输出格式为“text/xml”,并中止网页的输出操作。
private void XAttributeClass()
{ ///创建一个XML元素
XElement element = new XElement("Advertisements",
new XElement("Ad",
///创建属性
new XAttribute("ID","1"), ///添加属性ID
new XElement("Name","w3c"), ///添加元素Name
new XElement("Url","http://www.w3c.com") ///添加元素Url
),
new XElement("Ad",
///创建属性
new XAttribute("ID","2"), ///添加属性ID
new XElement("Name","Microsoft"), ///添加元素Name
new XElement("Url","http://www.microsoft.com") ///添加元素Url
)
);
///显示XML文件的内容
Response.Write(element);
///设置网页显示的形式为XML文件
Response.ContentType = "text/xml";
Response.End();
}
Sample_11项目中的LinqtoXmlBaseClass.aspx页面测试了上述实例代码(XAttributeClass()函数),测试结果如图所示。