首页 新闻 会员 周边

XmlReader在未知元素的名称和属性的名称的情况下读取属性的方法?

0
悬赏园豆:10 [已解决问题] 解决于 2014-08-10 11:32

在给出元素的名称和属性的名称的情况下,XmlReader类实现读取属性是很容易的。可是在不知道元素的名称和属性的名称的情况下用XmlReader类读取属性应该怎么实现呢?下面贴出一段代码,但是无法实现读取属性。麻烦各位知道的大神告诉小弟一下该怎么实现。

string path = @"e:\testfile\myMail.xml";

try
{
XmlReader xr = XmlReader.Create(path); 
while (xr.Read())
{
if (xr.HasAttributes)
{
Console.WriteLine("<" + xr.Name + ">的属性:"); 
Console.WriteLine("{0}={1}", xr.Name, xr.Value); 

}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();

Jack Leonardo的主页 Jack Leonardo | 初学一级 | 园豆:107
提问于:2014-08-10 10:30
< >
分享
最佳答案
0

首先,XmlReader.AttributeCount可以知道属性的数量,

其实,XmlReader.MoveToAttribute(1) 可以移动到当前节点的某个属性,

在MoveToAttribute之后,xr.Name 就是属性名称, xr.Value就是属性值。

收获园豆:10
XiaoFaye | 老鸟四级 |园豆:3087 | 2014-08-10 11:14

以下是修改后的代码:

if (xr.HasAttributes)
{

xr.MoveToAttribute(0); //按情况使用属性的index, 但不要超过XmlReader.AttributeCount
Console.WriteLine("<" + xr.Name + ">的属性:"); 
Console.WriteLine("{0}={1}", xr.Name, xr.Value); 

XiaoFaye | 园豆:3087 (老鸟四级) | 2014-08-10 11:16

@XiaoFaye: 谢谢了!

Jack Leonardo | 园豆:107 (初学一级) | 2014-08-10 11:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册