每个节点都有名称,因此下面的文本把Name属性值添加到DataOut。名称值可以由你指定(例如图1中的DataString1),或者由.NET框架组件指定默认值。例如,注释没有准确的名称,因此.NET框架组件赋予它的名字是Comment。
大多数节点也有值。但是,你必须使用HasValue属性检验当前节点是否有值。如果示例检测到了当前节点的值,它就把节点的Value属性添加到DataOut。
有些节点也有属性。但是,在使用HasAttributes属性检查他们之前,你必须检查他们的属性。AttributeCount属性表明了某个节点有多少个属性(可以多于一个)。这是一个零值为基础的值。示例使用MoveToAttribute()方法把当前属性载入读取程序。接着代码就可以正常使用Name和Value属性了。
请注意:你不必执行详细的属性处理。如果你需要的是属性值,使用方Reader->GetAttribute()法就可以了,该方法仅仅返回所有属性的值并能节省少量处理步骤。但是,一般情况下你需要同时知道属性的名称和值,因此列表4中的处理技术比你现在使用的其它技术更加通用。图2显示了这个程序的典型输出信息。
图2.分析XML文件意味着检索单独的值
注意:图2中显示了少量你可能没有估计到的信息。例如,XML头中的信息(类似版本号),对.NET框架组件来说它是作为属性出现的。示例代码也包含了列表1中的清单文件的副本。你可以在Filename字段中输入这个文件的路径和名称。应用程序分析这个文件与它分析自己生成的XML文件的容易程度是一样的。实际上,这个应用程序可以处理任何良好格式化的XML文件。
总结
现在你已经知道了.NET中使用XML文件是多么容易了。读取和写入XML文件并不比处理一个典型的文本文件复杂。此外,你可能发现了少量以前没有考虑过的XML的新的用法。随着微软把对XML的支持添加到更多的产品中,你可以确性在.NET中分析XML的简便性将使你的开发工作更加容易。




