C# xmlreader,获取属性';姓名

C# xmlreader,获取属性';姓名,c#,xml,xmlreader,C#,Xml,Xmlreader,我想做一些类似的事情: stringBuilder.AppendLine(" globalVar." + reader.GetAttribute(i).Name + " = " + reader[i] + "; //add param "); 其中“reader.GetAttribute(i).Name”是无法工作的组件。是否有一个等效的方法来获取属性的名称 使用reader。移动到属性(i),然后您可以使用reader.Name和reader.Value直接在读取器上使用Name和Val

我想做一些类似的事情:

stringBuilder.AppendLine("   globalVar." + reader.GetAttribute(i).Name + " = " + reader[i] + "; //add param ");

其中“reader.GetAttribute(i).Name”是无法工作的组件。是否有一个等效的方法来获取属性的名称

使用
reader。移动到属性(i)
,然后您可以使用
reader.Name
reader.Value
直接在读取器上使用
Name
Value
-参见下面的示例:

if(reader.HasAttributes){
Console.WriteLine(“属性”);
while(reader.MoveToNextAttribute()){
Console.WriteLine(“{0}={1}”,reader.Name,reader.Value);
}
//将读取器移回元素节点。
reader.MoveToElement();
}

GetAttribute()返回属性的字符串值。它没有“name”属性。尝试移动到属性,然后获取“Name”属性。

查看“移动属性”是什么意思?我知道GetAttribute()返回属性的字符串值。。。我在问,如果你愿意的话,是否有办法获得每个属性的“ID”。我知道John有上面的答案。读者。移动到属性(i)。他们是读者。名字应该能做到。谢谢,这终于奏效了。。。我不得不改变一些逻辑,但确实如此。
if (reader.HasAttributes) {
  Console.WriteLine("Attributes of <" + reader.Name + ">");
  while (reader.MoveToNextAttribute()) {
    Console.WriteLine(" {0}={1}", reader.Name, reader.Value);
  }
  // Move the reader back to the element node.
  reader.MoveToElement();
}