2011-08-17 4 views
4

다음 XML을 구문 분석하여 richTextBox1을 가져 와서 'John Smith', '35', 'Jpeg'를 표시하려고합니다. 나는 시도하고이 작업을 수행하려면 다음 코드를 사용했다"루트 레벨의 데이터가 유효하지 않습니다. 행 1, 위치 1"XML 구문 분석시

<?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 번 위치. 어떻게하면이 일을 할 수 있으며, 어떤 의견을 주시면 감사하겠습니다.

+0

내가했던 동일한 실수를 한 것에 대해 감사드립니다. 그것은 많은 도움이되었습니다 .-) – isHuman

답변

8

StringReader는 리터럴 문자열을 읽습니다. 파일의 내용이 아니라 "Gamer.xml"문자열을 구문 분석하려고합니다.

대신 StreamReader를 사용하십시오.

+0

그건 내 부분에서 무언가였습니다. 매우 감사. – Ebikeneser

관련 문제