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 日期时,只有第一个显示在 Richtextbox 上。如果有任何帮助,我已经在我的 .xsd 上设置了 PresentOn 元素,以便能够多次出现。

我将如何输出她所有的 PresentOn 日期而不仅仅是一个,我正在使用 XmlNodelist foreach(XmlNodelist 中的 XmlNode 节点)并找到学生,我能够输出第一个日期,但不知道如何多次输出 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