XElement类表示XML文件中的一个元素(XML文件的基本组成部分)。一般情况下,每一个元素都必须包含其名称。它还可以包含以下4个组成内容:
q 元素(由XElement类表示),作为元素的子元素。
q 文本(由XText类表示)。
q 注释(由XComment类表示),将注释作为元素的一个子元素。
q XML处理指令(由XProcessingInstruction类表示),用来指定处理该XML文件的处理器。
XElement类提供了多个属性获取或操作XML文件中的元素,如获取元素名称的Name属性、获取元素的值的Value属性等。XElement类的属性如表所示。
表 XElement类的属性
|
属 性 |
说 明 |
|
Name |
元素的名称。 |
|
Value |
元素的值。 |
|
FirstAttribute |
元素的第一个属性。 |
|
LastAttribute |
元素的最后一个属性。 |
|
HasAttributes |
表示元素是否包含属性。 |
|
HasElements |
表示元素是否包含元素。 |
|
IsEmpty |
表示是否为一个空元素。 |
|
EmptySequence |
空的元素集合。 |
另外,XElement类还提供了多个方法操作XML文件中的元素,如设置元素的值的SetValue()方法、移除元素的所有节点和属性的RemoveAll()方法等。XElement类的方法如表所示。
表 XElement类的方法
|
方 法 |
说 明 |
|
AncestorsAndSelf() |
自身及其上级元素的集合。 |
|
DescendantsAndSelf() |
自身及其子元素元素的集合。 |
|
DescendantNodesAndSelf() |
自身及其子节点的集合。 |
|
Load() |
导入XML文件或片段,并创建为XElement类实例。 |
|
Parse() |
解释XML文件或片段,。 |
|
Save() |
将XElement实例保存为XML文件。 |
|
Attribute() |
获取指定的属性。 |
|
Attributes() |
获取该元素的所有属性。 |
|
GetDefaultNamespace() |
元素的默认命名空间。 |
|
GetNamespaceOfPrefix() |
与元素相关的命名空间的。 |
|
GetPrefixOfNamespace() |
获取与元素的命名控件的前缀。 |
|
ReplaceAll() |
替换该元素自动的属性。 |
|
RemoveAll() |
移除该元素的所有内容。 |
|
ReplaceAttributes() |
替换该元素的所有属性。 |
|
RemoveAttributes() |
移除元素的属性。 |
|
SetValue() |
设置该元素的值。 |
|
SetAttributeValue() |
设置该元素的属性的值。 |
|
SetElementValue() |
设置该元素的子元素的值。 |
下面的实例代码创建了名称为Advertisements的元素,并添加了两个子元素Ad。同时,Ad元素也包含Name和Url元素及其值。具体步骤如下。
(1)创建Advertisements元素及其子元素和值。
(2)使用网页显示Advertisements元素的内容。
(3)设置网页的输出格式为“text/xml”,并中止网页的输出操作。
private void XElementClass()
{ ///创建一个XML元素
XElement element = new XElement("Advertisements",
new XElement("Ad",
new XElement("Name","w3c"), ///添加元素Name
new XElement("Url","http://www.w3c.com") ///添加元素Url
),
new XElement("Ad",
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页面测试了上述实例代码(XElementClass()函数),测试结果如图所示。






