コンソールから入力された値から正しい値をリストするのに問題があります。私のXMLファイルは次のとおりです。
<Students>
<Student>
<Name>Name1</Name>
<Surname>Surname1</Surname>
<Index>2222</Index>
<Subject name="History">
<Class>Class2</Class>
<Status status="passed">
<Grade>A</Grade>
</Status>
</Subject>
</Student>
<Student>
<Name>Name2</Name>
<Surname>Surname2</Surname>
<Index>3333</Index>
<Subject name="Math">
<Class>Class3</Class>
<Status status="passed">
<Grade>D</Grade>
</Status>
</Subject>
</Student>
</Students>
私がやろうとしているのは、たとえば 3333 と入力すると、学生が所属するクラスを一覧表示したいということです。この場合は「Class3」です。私のコードは次のようなものです:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("Students.xml");
Console.WriteLine("\nInsert Index Number");
string result = Console.ReadLine();
XmlNodeList xnList = xmlDoc.SelectNodes("//Student/Index");
XmlNodeList xnList2 = xmlDoc.SelectNodes("//Student/Subject/Class");
string result2 = null;
for (int i = 0; i < xnList.Count; i++)
{
string nodeval = xnList[i].InnerText;
if (nodeval == result)
for (int j = 0; j < xnList2.Count; j++)
{
result2 = xnList2[j].InnerText;
Console.WriteLine("Result" + result2);
}
}
}
何か助けはありますか?ありがとう