我有点麻烦。这就是我的 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");
}
这就是我到目前为止所拥有的一切,在这方面是新的,还有很多东西要学。