“根级别的数据无效。第1行,第1位”解析XML时

时间:2011-08-17 14:21:20

标签: c# xml parsing

我想解析下面的xml来获取richTextBox1所以显示'John Smith','35','Jpeg'。

<?xml version="1.0" encoding="utf-8" ?> 
- <Games>
- <Gamer Name="John Smith" Age="35" Win%="5.33502797236373">
   <Picture-id>Jpeg</Picture-id> 
   <Game>300</Game> 
  </Gamer>
</Games>

我使用以下代码尝试执行此操作 -

StringBuilder output = new StringBuilder();

String xmlString = @"Gamer.xml";

// Create an XmlReader
using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
    reader.ReadToFollowing("Gamer");
    reader.MoveToFirstAttribute();
    string genre = reader.Value;
    output.AppendLine("Name" + "Age");

    reader.ReadToFollowing("Picture-id");
    output.AppendLine(reader.ReadElementContentAsString());
}

richTextBox1.Text = output.ToString();

由于某种原因,当我执行它时会带回错误 - '根级别的数据无效。第1行,第1行。'我怎样才能使这个工作,非常感谢任何输入。

1 个答案:

答案 0 :(得分:8)

StringReader读取文字字符串。您正在尝试解析字符串“Gamer.xml”,而不是文件的内容。

请改用StreamReader。