linq to xml XElement类
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()函数),测试结果如图所示。
来源:http://blog.csdn.net/linqmail/article/details/2341472
加支付宝好友偷能量挖...