2013-07-27 3 views
0

좋아, 내가 xlm 파일에서 일부 데이터를 추가 할 List 있습니다. 내 List은 다음과 같습니다C# List <Tuple<>에 문자열 추가 = XmlTextReader로

List<Tuple<string,string,string>> BookList; 

그리고 내 XML 파일은 다음과 같습니다

<Book> 
    <Name>BookName</Name> 
    <Genre>BookGenre</Genre> 
    <Year>BookYear</Year> 
</Book> 

내가 원하는 것은 XML 파일에서 읽기, 그리고 때마다 나는 XmlNodeType.Text이 내부에 추가 읽기 명부.

int count = 0; 
string name,genre,year; 
while (reader.Read()) 
{ 
    if (count.Equals(3)) 
    { 
     BookList.Add(Tuple.Create(name,genre,year)); 
     count = 0; 
    }//if 

    switch (reader.NodeType) 
    { 
     case XmlNodeType.Text: 
     switch (count) 
     { 
      case 0: 
      name = reader.Value; 
      count++; 
      break; 
      case 1: 
      genre = reader.Value; 
      count++; 
      break; 
      case 2: 
      year = reader.Value; 
      count++; 
      break; 

     }//switch 
     break; 
    }//switch 
}//while 
:하지만 추가 할 수있는 방법은 내가 fisrt 문자열의 첫 번째 XmlNodeType.Text을 찾을 때 내가 두 번째 목록의 두 번째 문자열에 XmlNodeType.Text .... 을 읽을 때 어떤 메신저 지금하고있는 것은 이것이다 다음, 말할 수

어쨌든이 못생긴 사용을 피하기 위해 있습니까 switch(count)?

+0

당신이 이러한 속성을 가진'Book' 클래스를 생성하고'XmlSerializer'를 사용하는 대신 생각 해 봤나 계산 대신 스위치 당신의 노드에 대한 foreach 루프를 사용할 수 있을까? –

+0

아니요 ...하지만 이제 시작점을 주셨습니다. 지금 그것을 확인하려고합니다. – oimitro

답변