C# 从XmlReader打印出元素值

C# 从XmlReader打印出元素值,c#,xml,xmlreader,C#,Xml,Xmlreader,我想上传一个xml文件,然后遍历整个文件并打印出文件中每个元素的每个值 因此,我有一个xml文件: <Student> <Surname>Adrien</Surname> <Lastname>Wilsen</Lastname <School>LUA</School> <GPA>10.5</GPA> </Student>

我想上传一个xml文件,然后遍历整个文件并打印出文件中每个元素的每个值

因此,我有一个xml文件:

<Student>
        <Surname>Adrien</Surname>
        <Lastname>Wilsen</Lastname 
        <School>LUA</School>
        <GPA>10.5</GPA>
</Student>

调试代码时,我看到它输入了我的
if语句
,但当我取出
并将其保存到变量“val”时,它每次都会得到一个空字符串的值。我做错了什么?

您的元素是文本元素吗

写出
xmlReader.Name
,检查您要写的内容

您应该在if语句
XmlNodeType.Text
中使用:

if(xmlReader.NodeType == XmlNodeType.Text)
{
   string val = xmlReader.Value;
   Console.WriteLine(val);
}
对于
XmlNodeType.Element
可以打印出元素名称:

if(xmlReader.NodeType == XmlNodeType.Element)
{
   string val = xmlReader.Name;
   Console.WriteLine(val);
}
if(xmlReader.NodeType == XmlNodeType.Element)
{
   string val = xmlReader.Name;
   Console.WriteLine(val);
}