0

少し困っています。これは私のxmlがどのように見えるかです:

<?xml version="1.0" encoding="ISO-8859-1"?>
<Students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:noNamespaceSchemaLocation="student.xsd">
<Student>
<StudentID>001</StudentID>
<FirstN>John</FirstN>
<LastN>Doe</LastN>
<Seat>A1</Seat>
<PresentOn>10/7/2013 8:55:52 AM</PresentOn>
<PresentOn>10/7/2013 8:55:52 AM</PresentOn>
<PresentOn>10/7/2013 8:55:52 AM</PresentOn>
</Student>
<Student>
<StudentID>001</StudentID>
<FirstN>Jane</FirstN>
<LastN>Doe</LastN>
<Seat>A2</Seat>
<PresentOn>10/7/2013 8:55:52 AM</PresentOn>
<PresentOn>10/7/2013 8:55:52 AM</PresentOn>
<PresentOn>10/7/2013 8:55:52 AM</PresentOn>
</Student>
</Students>

Jane Doe などの特定の学生に問題はありませんが、PresentOn の日付を出力しようとすると、最初の日付だけがリッチテキスト ボックスに表示されます。.xsd に PresentOn 要素を設定して、それが助けになる場合は複数回発生できるようにしました。

彼女の PresentOn の日付を 1 つだけでなくすべて出力するにはどうすればよいでしょうか。foreach(XmlNodelist の XmlNode ノード) の XmlNodelist を使用して学生を見つけ、最初の日付を出力することはできますが、方法がわかりません。 PresentOn を複数回出力します。

学生を見つけるために使用しているコードは次のとおりです。

XmlDocument students = new XmlDocument();
        students.Load(@"C:\SeatingChart\StudentCopy.xml");
        XmlNodeList studentID = students.SelectNodes("Students/Student");
        //user chooses student id from combobox
        string stuID = removeTextBoxSpace(comboBox1.GetItemText(comboBox1.SelectedItem));

        foreach (XmlNode node in studentID)
        {
            try
            {
                string xmlID = node["StudentID"].InnerText.ToString();

                if (stuID.Equals(xmlID))
                {
                    //Messagebox showing the students name to verify correct student

                      string preson = node["PresentOn"].InnerText.ToString();
                      richTextBox1.AppendText("Present on: " + preson.ToString() + "\n");
                }

私がこれまでに持っているのはこれだけです。これは初めてで、まだ学ぶべきことがたくさんあります。

4

0 に答える 0