2016-10-08 5 views
0
 XmlDocument studentData; 
     XmlNodeList studentList; 
     TotalClass totalClass = null; 
     string gender = ""; 

     studentData = new XmlDocument(); 
       studentData.LoadXml("<root>" 
        + "<STUDNT ID=\"7\" Gender=\"M\"></STUDNT>" 
        + "<STUDNT ID=\"16\" Gender=\"F\"></STUDNT>" 
        + "<STUDNT ID=\"22\" Gender=\"F\"></STUDNT>" 
        + "<STUDNT ID=\"25\" Gender=\"M\"></STUDNT>" 
        + "<STUDNT ID=\"27\" Gender=\"F\"></STUDNT>" 
        + "<STUDNT ID=\"32\" Gender=\"M\"></STUDNT>" 
        + "<STUDNT ID=\"35\" Gender=\"f\"></STUDNT>" 
        + "<STUDNT ID=\"45\" Gender=\"M\"></STUDNT>" 
        + "<STUDNT ID=\"4423453244\" Gender=\"F\"></STUDNT>" 
        + "<STUDNT ID=\"44344\" Gender=\"F\"></STUDNT>" 
        + "</root>"); 

     studentList = studentData.SelectNodes("//STUDENT"); 
     if(studentList != null && studentList.Count > 0) 
     { 
      foreach(XmlElement student in studentList) 
      { 
       gender = student.GetAttribute("Gender"); 
       switch(gender) 
       { 
        case "F": 
         totalClass.Females++; 
         break; 

        default: 
        case "M": 
         totalClass.Males++;       
         break; 
       } 

      }// end loop 


     } 

     this.lblMales.Text = totalClass.Males.ToString();  
     this.lblFemale.Text = totalClass.Females.ToString(); 
     this.lblTotal.Text = (totalClass.Females + totalClass.Males).ToString(); 

Ich brauche etwas Hilfe mit diesem Programm. Ich wurde zugewiesen, um dieses Programm zu debuggen, und ich bin nicht in der Lage, einen Weg zu finden, zu lösen. Erhalten Sie weiterhin die NullReferenceException, wenn Sie auf die Schaltfläche zählen.Anzeige xml-Datei in das Textfeld Steuerelement

+4

Mögliche Duplikate von [Was ist eine NullReferenceException, und wie behebe ich es?] (Http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it) – mybirthname

Antwort

0

Ihr Objekt totalClass ist null. Erklären Sie vor Ihrer foreach Ihre Klasse. Sie können es mit Standard tun.

studentList = studentData.SelectNodes("//STUDENT"); 
totalClass = new TotalClass();//add this. 

Lesen Sie diese Frage, es für C# in Stack-Überlauf so ziemlich die berühmte Frage: What is a NullReferenceException, and how do I fix it?

+0

Vielen Dank für die Hilfe – Duke

+0

@Duke, Sie sind herzlich willkommen Sie können die Frage als richtig nach den 10 Minuten markieren. – mybirthname

0

Versuch zu ändern wie diese

studentList = studentData.SelectNodes ("/ root/STUDNT ");

und modifizieren, um

totalClass = new TotalClass();

Verwandte Themen